JS正则表达式验证身份证与真实姓名

作者:青柠

时间:2026-10-22

浏览:195

本文介绍如何在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正则表达式验证身份证号码及真实姓名的方法,希望能提供有益参考。如有任何疑问,欢迎留言交流,小编将及时回复。感谢对本站的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章