在哪一行报的错,错误是什么,可重现的身份证号是什么。用这个简单的测试下看看
validateIDCard(idCard) { // 检查长度和格式 const idCardPattern = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[\dXx]$/; if (!idCardPattern.test(idCard)) { return false; } // 校验码计算规则 const factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; const parity = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']; const code = idCard.substring(17).toUpperCase(); // 计算校验码 let sum = 0; for (let i = 0; i < 17; i++) { sum += idCard[i] * factor[i]; } const checkCode = parity[sum % 11]; // 验证最后一位校验码 return checkCode === code; }
讨论(1)
- 热议问题
-
验证码如何限制只有数字
1
-
组态数据过滤器data显示为null
1
-
cloud项目运行启动报错
1
-
物联网平台的防注入代码在哪
1
-
漏洞:越权
2
-
升级最新版代码后,使用代码生成功能报错
1
-
broker模块如何设置用mqtt协议连接
1
-
saber3 4.6版本无法启动问题
1
-
物理模型设置参数时操作失败,如何设置监听topic?
1
-
nacos 配置两个数据源,我在项目引入最新的redis配置 但是不生效;请问什么原因;
2
扫一扫访问 Blade技术社区 移动端