身份证号码的正则表达式通常用于验证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,不符合身份证号码的位数
请注意,这个正则表达式只能验证身份证号码的格式,而不能验证身份证号码的真实性或者其中的出生日期等信息.