如何用JavaScript正则表达式精确验证身份证号码格式?

2026-03-30 09:220阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计297个文字,预计阅读时间需要2分钟。

如何用JavaScript正则表达式精确验证身份证号码格式?

javascript// 正则表达式用于匹配15位或18位身份证号码const idCardRegex=/^(\d{15}|\d{17}(\d|X)$)/;

// 测试用例const testCases=[ 123456789012345, // 15位 1234567890123456, // 错误格式 123456789012345X, // 18位 1234567890123456X // 错误格式];

// 测试正则表达式testCases.forEach(testCase=> { console.log(`Test case: ${testCase} - Match: ${idCardRegex.test(testCase)}`);});

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

与之匹配的正则表达式:

(^\d{15}$)|(^\d{17}([0-9]|X)$)

下面以Javascript为例进行说明:

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

阅读全文

本文共计297个文字,预计阅读时间需要2分钟。

如何用JavaScript正则表达式精确验证身份证号码格式?

javascript// 正则表达式用于匹配15位或18位身份证号码const idCardRegex=/^(\d{15}|\d{17}(\d|X)$)/;

// 测试用例const testCases=[ 123456789012345, // 15位 1234567890123456, // 错误格式 123456789012345X, // 18位 1234567890123456X // 错误格式];

// 测试正则表达式testCases.forEach(testCase=> { console.log(`Test case: ${testCase} - Match: ${idCardRegex.test(testCase)}`);});

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

与之匹配的正则表达式:

(^\d{15}$)|(^\d{17}([0-9]|X)$)

下面以Javascript为例进行说明:

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

阅读全文