验证身份证号码的正确正则表达式

 我来答
刺任芹O
2022-11-17 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8430万
展开全部

验证身份证号码的正确正则表达式 /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/

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;




扩展资料:

正则表达式的书写语法

1、^  表示匹配字符串的开始位置  (例外  用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)

2、$  表示匹配字符串的结束位置

3、*  表示匹配 零次到多次

4、+  表示匹配 一次到多次 (至少有一次)

5、?  表示匹配零次或一次

6、.  表示匹配单个字符 

7、|  表示为或者,两项中取一项

8、(  ) 小括号表示匹配括号中全部字符

9、[  ] 中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]

10、{  } 大括号用于限定匹配次数  如 {n}表示匹配n个字符  {n,}表示至少匹配n个字符  {n,m}表示至少n,最多m

11、\  转义字符 如上基本符号匹配都需要转义字符   如 \*  表示匹配*号

12、\w 表示英文字母和数字  \W  非字母和数字

13、\d  表示数字   \D  非数字


参考链接来源:百度百科-正则表达式

匿名用户
2023-05-19
展开全部
中国大陆身份证号码的正确正则表达式如下:```regex^((\\d{15})|(\\d{18})|(\\d{17}(\\d|X|x)))$```解释如下:- `^` 表示字符串的起始位置- `\\d` 表示数字- `{15}` 表示前面的重复出现 15 次- `|` 表示或- `{18}` 表示前面的重复出现 18 次- `{17}` 表示前面的重复出现 17 次- `(\\d|X|x)` 表示数字或大写字母 X 或小写字母 x- `$` 表示字符串的结束位置这个正则表达式可以匹配 15 位身份证号、18 位身份证号和带有校验码的 18 位身份证号。注意,虽然该正则表达式可以进行初步的身份证号码格式验证,但无法验证身份证号码的有效性。如果需要验证身份证号码的有效性,需要根据国家标准 GB 11643-1999 进行计算和校验。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式