正则表达式写法
//第一种var reg = new RegExp('ab');//第二种var reg = /ab/;
量词:{}
{3} 出现次数为最多3次{ 1,4} 1 <= 出现次数 <= 4{ 1,} 最少出现1次,简写 +{ 0,} 至少0次,简写*{ 0,1} 最少0次,最多1次,简写?
字符集:[]
[a-z] 从小写a-z[A-Z] 大写A-Z[0-9] 0-9[^a] 除了a以外的
匹配子集:()
var str = 'abcvbcafbc';console.log( str.match( /(bc)+/g ) );//输出结果为:["bc", "bc", "bc"]
标识:
g : 搜索整个字符串i : 不区分大小写var str = 'abcvBcafbc';str.match( /(bc)+/gi )//整个字符串搜索,不区分大小写
元字符
^ -------> 字符串开始$ -------> 字符串结束\d ------> 数字\w ------> 匹配数字、字母、下划线\s ------> 匹配任意空白符//常用反义词\D ------> 非数字\W ------> 匹配任意不是字母,数字,下划线,汉字的字符\S ------> 匹配任意不是空白符的字符[^x] ----> 匹配除了x以外的任意字符[^abcfg] -> 匹配除了aeiou这几个字母以外的任意字符[\u2E80-\u9FFF] --> 匹配中文汉字
小实例
// 验证qq号: /^[1-9]{1}\d{4,8}$/// 验证邮箱:/^(\w+|\w+(\.\w+))+@(\w+\.)+\w+$/// 验证身份证号码:/^[1-9]\d{5}[1-2]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])(\d{3}|X)$/// 验证手机号/^1[3578]\d{9}$/// 固定电话/^0\d{2,3}(((\-|\_)\d{7,8}$)|(\d{7,8}$))///只有中文和英文/^([\u2E80-\u9FFF]|[a-zA-Z])+$/g