最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号。
进入正题
1.js验证真实姓名
js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次
1 var regName =/^[\u4e00-\u9fa5]{2,4}$/; 2 if(!regName.test(name)){ 3 alert('真实姓名填写有误'); 4 return false; 5 }
2.js验证身份证号
js验证身份证号,中国的身份证号,一代身份证号是15位的数字,二代身份证都是18位的,最后一位校验位除了可能是数字还可能是'X'或'x',所以有四种可能性:a.15位数字 b.18位数字 c.17位数字,第十八位是'X' d.17位数字,第十八位是'x'
1 var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; 2 if(!regIdNo.test(idNo)){ 3 alert('身份证号填写有误'); 4 return false; 5 }
详细版身份证验证:
http://www.cnblogs.com/songhaipeng/archive/2012/12/27/2835030.html
3.js验证手机号
中国的手机号除了区号(+86),之外均是11位数字且首字母一定是1,第二位不一定,但是目前为止还没有出现1和2的
1 var mobileRegex = /^(((1[3456789][0-9]{1})|(15[0-9]{1}))+\d{8})$/; 2 3 if(mobileRegex.test(phone)){ 4 alert('手机号正确'); 5 }else{ 6 alert('手机号输入不正确'); 7 }