PHP开发教程

正则表达式匹配身份证号码

身份证为15位或者18位,15位的全为数字,18位的前17位为数字,最后一位为数字或者大写字母”X“。

与之匹配的正则表达式:(^\d{15}$)|(^\d{17}([0-9]|X)$)

下面以Javascript为例进行说明:
function isIdCardNo(num)

   num = num.toUpperCase(); 
      //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。 
   if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) 
   {
      alert('输入的身份证号长度不对,或者号码不符合规定!\n15位号码应全为数字,18位号码末位可以为数字或X。');
      return false;
   } 

Powered by PHP二次开发 ©2008-2017