- 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑
- 正则表达式的特点是
1. 代码简洁
2. 灵活性、逻辑性和功能性非常强
3. 可以迅速地用极简单的方式达到字符串的复杂控制
4. 对于刚接触的人来说,比较晦涩难懂。可读性比较差
- var reg = /规则/附加参数
- var reg=/white/; - 固定方式-只要输入的内容中包含具体的值,就会返回true
var reg=/^white$/; - 只能是white -才会返回true
Var reg = /^[0-9]$/
Var reg = /^1$/
- var reg=new RegExp("表达式")
var reg=new RegExp("white");

- [0-9] 数字0-9
- [a-z] 小写的a-z
- [A-Z] 大写的A-Z
- [a-zA-Z] 字母
- \w : 匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'。
- + : 匹配前面的子表达式一次或多次
- {}: 表示次数
- ?:匹配前面的子表达式零次或一次
- 获取需要校验的值
- 写校验规则(表达式)
- 使用test方法校验,语法:reg.test(str); 符合规则返回true, 不满足返回false
- 根据返回结果做处理


- [0-9]{9}, 0-9可以出现 9 次,固定的次数
- [0-9]{5,9} , 数字可以出现5-9次
- [0-9]{5,} , 至少5次,没有上限
- [0-9]* , 可以不出现,也可以出现很多次
- + 至少出现1次
- ? 可以出现,也可以不出现,出现的话就只能是一次
- a // 字符小写字母a
- [a-z] //匹配所有的小写字母
- [A-Z] //匹配所有的大写字母
- [a-zA-Z] //匹配所有的字母
- [0-9] //匹配所有的数字
- [0-9\.\-] //匹配所有的数字,句号和减号
- a{2,} 如:baad和aaa,但Nantucket,abab不行, 要求连续出现2次,abcabc, aaaaaabc
- ^a{1,3}$ a出现1-3次, 如 a,aa或aaa
- 验证手机号码:"^1[3-9][0-9]{9}$"
- 验证身份证号:"\d{17}(\d|X|x)";
- 只能输入数字:"^[0-9]*$"。
- 只能输入n位的数字:"^\d{n}$"。
- 验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
- 验证用户名或密码: /^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){3,15}$/