匹配雙字節字符(包括漢字):[\ x00-\ xff]
應用:計算壹個字符串的長度(壹個雙字節字符長度米2,ASCII字符米1)。
string . prototype . len = function(){返回this.replace([^\x00-\xff]/g,"aa").長度;}
匹配空行的正則表達式:\n[\s| ]*\r
匹配HTML標記的正則表達式:/
匹配前導空格和尾隨空格的正則表達式:(\ s *) | (\ s * $)
應用:javascript中沒有類似vbscript的trim函數,我們可以用這個表達式來實現,如下:
String.prototype.trim =函數()
{
返回this.replace(/(^\s*)|(\s*$)/g,“”;
}
使用正則表達式分解和轉換IP地址;
下面是壹個Javascript程序,使用正則表達式匹配IP地址,並將IP地址轉換成相應的數值:
功能IP2V(ip)
{
Re =/(\ d+) \。(\ d+) \。(\ d+) \。(\ d+)/g//匹配IP地址的正則表達式。
if(重新測試(ip))
{
返回RegExp。$1*Math.pow(255,3))+RegExp。$2*Math.pow(255,2))+RegExp。$ 3 * 255+正則表達式。$4*1
}
其他
{
拋出新錯誤(“不是有效的IP地址!”)
}
}
但是上面的程序不需要正則表達式,直接用split函數分解可能更簡單。該計劃如下:
var IP = " 10.100.20 . 168 "
ip=ip.split(" . ")
Alert("IP值為:"+(IP[0]* 255 * 255 * 255+IP[1]* 255 * 255+IP[2]* 255+IP[3]* 1))
匹配電子郵件地址的正則表達式:\ w+([-+。] \ w+) * @ \ w+([-。] \ w+) * \。\ w+([-。] \ w+) *
匹配URL的正則表達式:/page1.htm "
s=s.replace(/(。*\/){0,}([^\.]+).*/ig," $2 ")
警報
使用正則表達式限制web表單中文本框的輸入內容;
使用正則表達式將輸入限制為僅中文:onkeyup = "value = value。replace (/[\ U4E00-\ U9Fa5]/g,' ')" onbeforepaste = "剪貼板數據。setdata ('text ',剪貼板數據。getdata ('text ')。替換(。
使用正則表達式限制只輸入全角字符:onkeyup = "value = value。replace (/[\ uff00-\ ufff]/g,' ')" onbeforepaste = "剪貼板數據。setdata ('text ',剪貼板數據。getdata ('text ')。替換(。
使用正則表達式限制只能輸入的數字:onkeyup = "value = value。replace (/[\ d]/g,' ')" onbeforepaste = " clipboard data。setdata ('text ',剪貼板數據。getdata ('text ')。替換(/[\ d])。
使用正則表達式將輸入限制為數字和英語:onkeyup = "value = value。replace (/[\ w]/g,' ')" onbeforepaste = " clipboard data。setdata ('text ',剪貼板數據。getdata ('text ')。替換(/[\ d])。
前段時間寫了兩段EmEditor宏,用來統計代碼行數和檢查簡單協議,稍微整理了壹下。
以下來自q &;a的提取示例:包含在雙引號中的字符串。
用雙引號括起來的字符串
".*?"[]包含壹個字符串
由[ ]包圍的字符串
\[[^\[]*?\]變量名
變量名
[a-zA-Z_][a-zA-Z_0-9]* IP地址
IP地址
([0-9] {1,3}) \.([0-9] {1,3}) \.([0-9] {1,3}) \.([0-9] {660}
統壹資源定位器
(\S+)://([^:/]+)(:(\d+)?(/[^#\s]*)(#(\S+)?每行制表符後的文本欄。
後跟制表符的行
\t.*$平的名字是ひらがな
平假名
全角度電影。
全角片假名
[{ 309 b }-{ 309 c }-{ 30fe }]半角。
半角假名
[{ ff 61 }-{ ff9f }]CJ
CJK象形文字
[\ x { 3400 }-\ x { 9 fff } \ x { f900 }-\ x { fa2d }]漢字。
CJK象形文字標記
[{ 3000 }-{ 3037 }]朝鮮語字符
朝鮮文
{ 0 }-{ 0 } ac00
在行首插入//字符
找到:^
替換為://刪除行標題//
刪除行尾的//字符
找到:^//
替換:刪除行後的空白文本(包括空格和制表位空格+Tab)。
刪除尾隨空格
查找:\s+?$
替換為:將(abc)替換為[abc]
將(abc)替換為[abc]
查找:\((。*?)\)
替換:\[\1\]將
替換& ltH3…>;用& ltH4…>;
查找:& ltH3(。*?)& gt
替換:& ltH4\1 >將9/13/2003替換為2003年9月13。
將9/13/2003替換為2003.9.13
查找:([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})
替換:\3年\ 65438+10月\2、用大寫字母替換字母a-z。
從a到z的大寫字符
查找:[a-z]
替換:\U\0首字母大寫。
所有單詞大寫
查找:([a-zA-Z])([a-zA-Z]*)
替換:\U\1\L\2