身份证号的正则表达式是什么样的

js yekong 107℃

身份证号码的正则表达式通常用于验证15位或18位的身份证号码。以下是一个可以同时验证15位和18位身份证号码的正则表达式:

let regex = /(^\d{15}$)|(^\d{17}(\d|X|x)$)/;

这个正则表达式的含义是:

  • ^\d{15}$ 验证15位数字的身份证号码。
  • ^\d{17}(\d|X|x)$ 验证18位身份证号码,其中最后一位可以是数字或者大写或小写的字母X(校验码)。

这样,正则表达式/(^\d{15}$)|(^\d{17}(\d|X|x)$)/可以用来检查一个字符串是否符合中国大陆的身份证号码格式。例如:

let regex = /(^\d{15}$)|(^\d{17}(\d|X|x)$)/;
console.log(regex.test("123456789012345")); // 输出:true,15位身份证号码
console.log(regex.test("123456789012345678")); // 输出:true,18位身份证号码
console.log(regex.test("12345678901234x")); // 输出:true,18位身份证号码,最后一位是小写x
console.log(regex.test("12345678901234")); // 输出:false,不符合身份证号码的位数

请注意,这个正则表达式只能验证身份证号码的格式,而不能验证身份证号码的真实性或者其中的出生日期等信息.

喜欢 (0)