筆記

/***正則的兩種寫法**/
            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 : 所有查找(全局匹配),寫到正則最後
            + : 量詞,匹配不肯定位置,至少出現一次
            {}: 量詞,好比{47}最少出現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字符串

相關文章
相關標籤/搜索