JS正则表达式验证身份证与真实姓名
作者:青柠时间:2026-10-22 05:00:52浏览:196
本文介绍如何在JavaScript中使用正则表达式验证用户输入的姓名和身份证号码。针对中国身份证15位或18位(含校验位X)的格式进行匹配,并利用Unicode范围校验2至4个汉字的真实姓名,适用于实名认证接口调用前的严格数据过滤。
首先展示相关代码实现。
function isCardNo(card)
{
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if(reg.test(card) === false)
{
alert("身份证输入不合法");
return false;
}
}
JS验证真实姓名与身份证号的背景
在近期项目中,调用实名认证接口的成本远高于短信验证,因此必须对调用条件进行严格把控。为此,我们需要在前端使用JS验证真实姓名与身份证号,以确保数据合法性。
接下来进入具体实现环节。
JS验证真实姓名主要依赖Unicode字符匹配。考虑到中国公民姓名长度通常介于2到4个汉字之间,正则表达式中需重复匹配{2,4}次。
JS验证真实姓名实现
1. JS验证真实姓名逻辑如下:
var regName =/^[\u4e00-\u9fa5]{2,4}$/;
if(!regName.test(name)){
alert(‘真实姓名填写有误‘);
return false;
}
JS验证身份证号实现
JS验证身份证号需兼容中国一代身份证(15位纯数字)和二代身份证(18位,末位校验位可为数字或字符‘X’/‘x’)。具体包含四种情况:a. 15位纯数字;b. 18位纯数字;c. 前17位为数字,第18位为‘X’;d. 前17位为数字,第18位为‘x’。
2. JS验证身份证号逻辑如下:
var regIdNo = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if(!regIdNo.test(idNo)){
alert(‘身份证号填写有误‘);
return false;
}
以上介绍了利用JS正则表达式验证身份证号码及真实姓名的方法,希望能提供有益参考。如有任何疑问,欢迎留言交流,小编将及时回复。感谢对本站的支持!
作者最新文章
ES6模块化中js文件怎么用import和export交互
2026-11-05 17:00:48
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
