JavaScirpt姓名、邮箱、⼿机号、⾝份证等正则校验详解
匹配邮箱的正则表达式
1 JS正则校验使⽤
在javaScript中RegExp对象提供了正则表达式功能,同时使⽤RegExp对象的以下⽅法进⾏正则校验;
1. test()⽅法:返回布尔值,true代表匹配,false代表不匹配;
2. exec()⽅法:返回匹配结果,如果发现匹配,就返回⼀个数组,成员是匹配成功的⼦字符串,否则返回null;
使⽤⽅法:
let reg =new RegExp('^(\\d{3}-\\d{8})$|^(\\d{4}-\\d{7})$')//初始化正则对象,⽤户固定电话校验
<('021-123456789')//null
<('021-********')//返回⼀个数组对象["021-********", "021-********", undefined, index: 0, input: "021-********", groups: undefined]
以上初始化正则对象let reg = new RegExp('^(\\d{3}-\\d{8})$|^(\\d{4}-\\d{7})$')等同于let reg = /^(\d{3}-\d{8})$|^(\d{4}-\d{7})$/,注意使⽤前者需要对\d多⼀个转义字符\;
2 常⽤正则表达式
⼿机号码正则:/^[1][0-9]{10}$/;
固定电话正则:/^(\d{3}-\d{8})$|^(\d{4}-\d{7})$/;
邮箱正则:/^\w+([-+.]\w+)*@\w+([.]\w+)*$/
⾝份证正则:/^\d{15}$|^\d{17}[x|X]$|^\d{18}&/;此处为简单正则校验,对⾝份证进⾏复杂校验后续更新;
中⽂姓名正则:/^[\u4e00-\u9fa5]{1,20}(·[\u4e00-\u9fa5]{1,20})*$/;包含对新疆地区中⽂姓名校验;