笔记

/***正则的两种写法**/
            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]*

             QQ号:[1-9][0-9]{4,9}

             邮政编码:[1-9]\d{5}

             身份证:[1-9]\d{14}|[1-9]\d{17}|[1-9]\d{16}x


 

posted @ 2015-11-18 21:02  Mi文  阅读(171)  评论(0编辑  收藏  举报