正文  电脑教程 > 服务器教程 >

JS如何使用正则表达式验证身份证号码

废话不多说了,先给大家看一段代码吧 function isCardNo(card) { // 身份证号码为15位或者18位,15位时全...

废话不多说了,先给大家看一段代码吧

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