正規表示式的一些方法:
test方法:查詢字串中是否匹配正規表示式,如果匹配返回結果是:true,否則返回false;形式:reg.test(str)
exec方法:查詢匹配的正規表示式
如果匹配的話返回結果是乙個陣列,陣列0元素是整個的匹配,1-n元素是各個子匹配,陣列有三個屬性:
input:返回整個字串,
index:返回匹配的子字串在整個字串的位置
lastindex:返回匹配的子字串最乙個字元的下乙個字元
如果不匹配的話返回的是值是null
有全域性識志(g)與沒有全域性識別符號的話,區別很大,第一次呼叫的話返回the,第二次呼叫返回rain,第三次呼叫返回in...,如果沒有的話不管呼叫多少
次返回的都是the,
var src = "the rain in spain falls mainly in the plain.";
var re = /\w+/g;
var arr;
alert(src.match(re))//有g的話,返回[the,rain,in,spain,falls,mainly,in,the,plain.]如果沒有g的話則返加[the]
var u="";
var s=/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/;
var a=s.exec(u);
for(i=1;imatch方法:結果是返回乙個陣列,如果有全域性識別符號的話,有g的話,返回[the,rain,in,spain,falls,mainly,in,the,plain.]如果沒有g的話則返加[the],形
式:str.match(reg)
search方法:返回匹配的的字串的首字元在整個表示式中的偏移位置,如果不匹配的話則返回-1,形式:str.search(reg),有沒有全域性識別符號都一樣
split()方法:結果是乙個字串陣列,在 stingobj 中每個出現 separator 的位置都要進行分解。separator 不作為任何陣列元素的部分返回。有個例外的地方:
正規表示式中有分組時則將匹配的結果也作為陣列的一部分返回,匹配的空格也作為陣列一部分返回,正確形式:/\n|\r/g,
以下是常用的一些匹配規則:
匹配中文字元的正規表示式: [\u4e00-\u9fa5]
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
匹配空行的正規表示式:\n[\s| ]*\r
匹配html標記的正規表示式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正規表示式:(^\s*)|(\s*$)(像vbscript那樣的trim函式)
匹配email位址的正規表示式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配**url的正規表示式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
以下是例子:
利用正規表示式限制網頁表單裡的文字框輸入內容:
用正規表示式限制只能輸入中文:onkeyup="value=value.replace(/[^\u4e00-\u9fa5]/g,")"
onbeforepaste="clipboarddata.setdata('text',clipboarddata.getdata('text').replace(/[^\u4e00-\u9fa5]/g,"))"
1.用正規表示式限制只能輸入全形字符: onkeyup="value=value.replace(/[^\uff00-\uffff]/g,")"
onbeforepaste="clipboarddata.setdata('text',clipboarddata.getdata('text').replace(/[^\uff00-\uffff]/g,"))"
2.用正規表示式限制只能輸入數字:onkeyup="value=value.replace(/[^\d]/g,")
「onbeforepaste="clipboarddata.setdata('text',clipboarddata.getdata('text').replace(/[^\d]/g,"))"
3.用正規表示式限制只能輸入數字和英文:onkeyup="value=value.replace(/[\w]/g,")
「onbeforepaste="clipboarddata.setdata('text',clipboarddata.getdata('text').replace(/[^\d]/g,"))"
4.字串的replace:
str.replace(/(<(\w+)[^>]*?\/>)/g,function(all, front, tag){})這個是匹配標籤符例,all表示總個匹配,front表示第乙個分組,tag表示第二個分組
5.cookie中取值
reg = /(?:^|;)cookiename([^;]*)/
6.url中取值
reg = /[?&]keyname=([^&]*)/
7.classname的變換
document.getelementbyid('aa').classname += 'classname'
document.getelementbyid('aa').classname =
document.getelementbyid("myelement").classname.replace(/(?:^|\s)myclass(?!\s)/,'');
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...