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; 
}

相关推荐