身份证号码正则表达

2020-08-11  本文已影响0人  yinxmm

xxxxxx yyyy MM dd 375 0 十八位

xxxxxx yy MM dd 75 0 十五位

地区: [1-9]\d{5}

年的前两位: (18|19|([23]\d)) 1800-2399

年的后两位: \d{2}

月份: ((0[1-9])|(10|11|12))

天数: (([0-2][1-9])|10|20|30|31)

三位顺序码: \d{3}

两位顺序码: \d{2}

校验码: [0-9Xx]

正则表达式:

十八位:^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

十五位: ^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$

简单的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; 
  } 
}
上一篇下一篇

猜你喜欢

热点阅读