正则1

0.常用正则:https://github.com/any86/any-rule

1.str.match(reg);//匹配返回类数组,失败null,由标识匹配结果

   reg.exec(str);

   g全局匹配

   i不区分大小写

   m换行匹配

   y ES6新增匹配

2.reg.test(str);//返回boolean

   reg规则对象为变量//推荐

1 var a='123';
2 var str='yuge123';
3 var reg=new RegExp(a);//扩展 var reg=new RegExp('yuge123','igm/变量')    若为正则,不需要引号字符串
4 alert(reg.test(str));//返回true

3.特殊意义字符需要转移'\': /  \  ?  +  *  (  )  [  ]  |  .

4.\n     \r     \t   字符串里也特殊

   空格(\s)  非空格(\S)  

   数字(\d)  非数字(\D)  

   字符,即数字,字母,_(\w)   非字符(\W)

   起始、结束、连词符除了\w之外都算连词符、空格(\b)等

1 var reg='/\babc\b/';
2 var str='1pabc';
3 alert(reg.test(str));//返回false,必须独立abc,eg:abc-、abc jiu、abc%jiu皆可;

 5.量词 

1 var reg=/1{100}/;//匹配100个连续的1,特殊{0,1}=>?,  {1,}=>+,  {0,}=>*

6.子集()

7.字符集[]

 

1 var reg=/[2-8]/;//或者:匹配2到8中任意一个。
2 //扩展:[0-9]、[a-z]、[A-Z]、[\u4e00-\u9fa5]汉字,语言自行百度;
3 //[0-9ab]匹配数字或a或b类似|,字符集内放特殊字符不用转义,若加上转义字符,又具有特殊意义,eg:[\d]匹配数字
4 //除了:放开头,匹配除了ab,a或b[^ab]

 

8.或 |

1 var reg=/a|bc/;//匹配a或者bc,配合子集,可匹配ac或bc /(a|b)c/;

9.注意点

1 var reg=/[abc]{3}/;
2 var str='cba';
3 console.log(str.match(reg));//["cba", index: 0, input: "cba"]
1 var reg=/a^b/;//无意义,匹配不了,^在字符集外表示起始,/a^b/:起始为b,前面不能有a,除非/a?^b/

 

10.str.replace(reg/string,rep-thing/fn) 正则或者字符串替换为新字符串或fn

1 var reg=/abc/;
2 var str='yugeabc';
3 var aS=str.replace(reg,'666');
4 console.log(aS);//yuge666,替换后不改变str
1 var reg=/余歌(阿飞)(66)/;
2 var str='sss余歌阿飞66ppp';
3 var nS=str.replace(reg,function(i,j,k){
4   console.log(i+'---'+j+'---'+k);//余歌阿飞66---阿飞---66
5 })

11.str.search(reg) 类似indexOf,返回第一个匹配的位置,找不到-1

12.str.split(reg)   整体切割

13.   .点在正则里代表任意字符

        ^在字符集之外,代表起始部分

        $代表结束

14.惰性量词:?

1 var reg=/a{3,}?/;
2 var str='aaaaa';
3 console.log(str.match(reg));//'aaa'   不加?变贪婪'aaaaa'

 15.常用

1 var reg={
2    qq:/^[1-9]\d{4,9}$/,//5到10位QQ
3     user:/^[a-zA-Z_]\w{5,17}$/,//6到18位用户名,起始非数字
4     pwd:/^([A-Z]|[a-z]|[0-9]|[`-=[];,./~!@#$%^*()_+}{:?]){6,20}$/,//密码百度吧
5     tel:/^1[3-8]\d{9}$/,//11位手机号 6 mail:/^[1-9a-z_]\w{5,17}@[\da-z]{2,}(\.[a-z]{2,4}){1,2}$/i,//邮箱
6     IDCard:/[1-9]\d{16}[\dx]/i //身份证号  
7 }

 

posted @ 2017-12-03 12:36  blackatall  阅读(289)  评论(0)    收藏  举报