导航

JavaScript 正则表达式学习笔记

Posted on 2018-07-01 15:53  小飞博客  阅读(240)  评论(0编辑  收藏  举报

定义规则让计算机去处理字符串
正则表达式写法:

1 //第一种 
2 var reg = new RegExp('ab');
3 
4 //第二种
5  var reg = /ab/;

量词:{}

1 [a-z] 从小写a-z
2 [A-Z] 大写A-Z
3 [0-9] 0-9
4 [^a] 除了a以外的

匹配子集:()

1 var str = 'abcvbcafbc';
2 console.log( str.match( /(bc)+/g ) );//输出结果为:["bc", "bc", "bc"]

标识:

1 g : 搜索整个字符串
2 i : 不区分大小写
3 var str = 'abcvBcafbc';
4 str.match( /(bc)+/gi )//整个字符串搜索,不区分大小写

元字符

 1 ^ -------> 字符串开始
 2 $ -------> 字符串结束
 3 \d ------> 数字
 4 \w ------> 匹配数字、字母、下划线
 5 \s ------> 匹配任意空白符
 6 //常用反义词
 7 \D ------> 非数字
 8 \W ------> 匹配任意不是字母,数字,下划线,汉字的字符
 9 \S ------> 匹配任意不是空白符的字符
10 [^x] ----> 匹配除了x以外的任意字符
11 [^abcfg] -> 匹配除了aeiou这几个字母以外的任意字符
12 [\u2E80-\u9FFF]  --> 匹配中文汉字

小实例

 1 // 验证qq号: 
 2 /^[1-9]{1}\d{4,8}$/
 3 // 验证邮箱:
 4 /^(\w+|\w+(\.\w+))+@(\w+\.)+\w+$/
 5 // 验证身份证号码:
 6 /^[1-9]\d{5}[1-2]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])(\d{3}|X)$/
 7 // 验证手机号
 8 /^1[3578]\d{9}$/
 9 // 固定电话
10 /^0\d{2,3}(((\-|\_)\d{7,8}$)|(\d{7,8}$))/
11 //只有中文和英文
12 /^([\u2E80-\u9FFF]|[a-zA-Z])+$/g