验证身份证号码是否为正确值

本文介绍了一种用于验证身份证号码有效性的方法,并提供了一个使用JavaScript编写的验证实例。该方法不仅包括基本的正则表达式匹配,还涵盖了根据身份证号码计算校验位的详细步骤。

今天(2018-04-09)在整理正则表达时,有一个关于身份证号码的正则匹配。最简单的不动脑子的匹配方式为:^[1-9]\d{16}[\d|x]$,但是这样很容易伪造一个身份证号来骗过电脑,于是加强版的正则匹配为:

^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

虽然加强版的正则匹配能过滤掉大部分不靠谱的身份证号码,但仍存在漏网之鱼,比如我创造了一个符合它正则规则的号码:123456180011116578(纯属构造)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值