JavaScript 正则表达式学习笔记

时间:2023-02-08 23:34:38

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

 //第一种
var reg = new RegExp('ab'); //第二种
var reg = /ab/;

量词:{}

 [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