JS正则表达式验证身份证号码
- function isCardNo(card)
- {
- // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
- var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
- if(reg.test(card) === false)
- {
- alert("身份证输入不合法");
- return false;
- }
- }
最近的项目中用的需要调用实名认证的接口,实名认证接口价格相比短信而言高了不是几分钱,所以说调用实名认证的条件就要严格把关,因此用到js验证真实姓名与js验证身份证号。
进入正题
js验证真实姓名,是用的unicode字符的来进行匹配,而中国人的姓名长度一般都是2-4,所以重复匹配{2,4}次
1.js验证真实姓名
- var regName =/^[\u4e00-\u9fa5]{2,4}$/;
- if(!regName.test(name)){
- alert('真实姓名填写有误');
- return false;
- }
js验证身份证号,中国的身份证号,一代身份证号是15位的数字,二代身份证都是18位的,最后一位校验位除了可能是数字还可能是'X'或'x',所以有四种可能性:a.15位数字 b.18位数字 c.17位数字,第十八位是'X' d.17位数字,第十八位是'x'
2.js验证身份证号
- var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
- if(!regIdNo.test(idNo)){
- alert('身份证号填写有误');
- return false;
- }