正则表达式的使用
//使用正则表达式
var exp=/^[0-9]{5}$/;
var reg=new RegExp(exp);
var str="12345";
console.log(reg.test(str));//返回的值是true false
//直接通过值点 match 条件不满足是null
console.log(str.match(exp));
正则表达式的特色符号:
\ 转义字符
^ 代表表达式的开始位置
$ 代表结束位置
* 匹配前面的子表达式0次或多次
+ 匹配前面的子表达式
? 匹配前面的子表达式0次或多次
[] 集合
[0-9][a-z][A-Z] 匹配的是范围集合
[^0-9]除0-9以外的其他值
() 括子集
g 全局查找
\b 匹配单词的边界 单词和空格之间的位置
\B 匹配的是单词非边界
\d 匹配数字 [0-9]
\D 匹配非数字
\n 换行符
\r 回车
\s 匹配空白字符 空格 换行 回车
\S 匹配非空白字符 除了空格 换行 回车 其他的
\w 匹配[0-9a-zA-Z]
\W 匹配[^0-9a-zA-Z]
{} 限定符 限定前面的子表达式的次数
{n} 匹配前面的子表达式n次
var x="1234568";
console.log(x.match(/[0-9]{2}/));
{n,} 匹配前面的子表达式至少n次或者多次
{n,m}至少匹配n次 最多m次 n<=m
var y="321456";
console.log(y.match(/[0-9]{3,}/));
| 或
var u="234abxs";
console.log(u.match(/[(0-9)|a]{4}/));
[abc] 匹配的是字符串里面的a|b|c
var e="worker";
console.log(e.match(/[r]/));
[^abc] 匹配的是字符串里面的a|b|c
var q="worker";
console.log(q.match(/[^r]{2}/));
\s
var s="1 2 3 4 5";
console.log(s.replace(/\s/g,""));
邮箱正则
var email=/\w{5,10}\@((qq)|(163)|(sina))\.((com)|(cn))/;
电话正则
var tel=/1[13578]{1}\d{9}/;
身份证号码正则
var man=/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/