/***正則的兩種寫法**/ var re=//; var re=new RegExp(); /***正則方法test 正則去匹配字符串,匹配成功true,不成功false**/ var str='abcdef'; var re=/b/; alert(re.test(str));//true /***正則方法Search 正則去匹配字符串,匹配成功,返回匹配位置,不成功返回-1**/ var str='abcdef'; var re=/C/i; alert(str.search(re));//2 /***正則方法match 正則去匹配字符串,匹配成功就返回匹配成功的數組,不成功返回null**/ var str='sdf12ssdf2646sdfe'; var re=/\d+/g; alert(str.match(re)); /***正則方法replace 正則去匹配字符串,匹配成功字符去替換成新的字符**/ //replace:第二個參數,能夠是字符串,也能夠是一個回調函數 var str='aaa'; var re=/a/g; str=str.replace(re,'b'); alert(str);//bbb; /**轉義字符***/ \s:空格 \S:非空格 \d:數字 \D:非數字 \w:字符 (字母,數字,下劃線_) \W:非字符 \b:獨立的部分(起始,結束,空格) \B:非獨立的部分 .:任意字符 \.:真正的點 /***寫法***/ //正則默認是區分大小寫的 i : 不區別大小寫,寫到正則最後 //正則默認匹配成功就會結束,不會繼續匹配 g : 所有查找(全局匹配),寫到正則最後 + : 量詞,匹配不肯定位置,至少出現一次 {}: 量詞,好比{4,7}最少出現4次,最多出現7次,若是是{4,}最少出現4次,{4}正好出現4次 ? : 量詞,表示0次或者1次用{}表示的話就是{0,1}; * : 量詞,至少出現0次,用{}表示就是{0,}; | : 或的意思 (): 匹配子項,還有另一個意思分組操做,整個正則就是一個總體,第個()就是子項 [] :字符類:一級類似的元素用表示 ^ :排除,若是^寫在[]裏面的話,就表明排除的意思,若是放到正則最前面就表明起始的意思 $ :結束,若是放到正則最後位置,就表明結束的意思 a-z:範圍還能夠0-9 \1,\2:重複子項,若是是1就是重複第1個子項,若是是2就是第2個子項 /****例子1***/ var str='2015-5-5'; var re=/(\d+)(-)/g; str.replace(re,function($0,$1,$2){ //$0==(\d+)(-) //$1==(\d+) //$2==(-) alert($0); }) /****例子2***/ var str='abs'; //var str='abcs'; //下面會返回false; var re=/a[bde]s/; //[]有些像js裏的! alert(re.test(str));//true; /****例子3***/ var str='abs'; var re=/a[^bde]s/;//排除bde alert(re.test(str));//false; /****例子4***/ var str="one two"; var re=/one\b/; alert(re.test(str));//true; /****例子5***/ //若是要alert個符號必需要在他前面加個\轉義; /****例子6***/ var str='abca'; var re=/(a)(b)(c)\1/;//\2 abcb false alert(re.test(str));;//true
///******例子6*****//
匹配中文:[\u4e00-\u9fa5]數組
行首行尾空格:^\s*|\s*$函數
Email:^\w+@[a-z0-9]+(\.[a-z]+){1,3}$編碼
網址:[a-zA-z]+://[^\s]*spa
QQ號:[1-9][0-9]{4,9}code
郵政編碼:[1-9]\d{5}blog
身份證:[1-9]\d{14}|[1-9]\d{17}|[1-9]\d{16}x字符串