请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

伤疤也微笑

初级会员

15

主题

72

帖子

289

积分

初级会员

积分
289

微信认证勋章

伤疤也微笑
初级会员   /  发表于:2019-1-24 12:09  /   查看:3622  /  回复:22
本帖最后由 伤疤也微笑 于 2019-1-25 13:05 编辑

校验的正则表达式:
前言

开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单、效率最高的方式了,下面就来看看15/18位身份证号码验证的正则表达式吧。

介绍

xxxxxx yyyy MM dd 375 0     十八位
xxxxxx    yy MM dd   75 0     十五位
地区: [1-9]\d{5}
年的前两位: (18|19|([23]\d))            1800-2399
年的后两位: \d{2}
月份: ((0[1-9])|(10|11|12))
天数: (([0-2][1-9])|10|20|30|31)          闰年不能禁止29+
三位顺序码: \d{3}
两位顺序码: \d{2}
校验码: [0-9Xx]

正则表达式

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

十五位: ^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$

总:

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

简单的JS验证示例

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、工程中已经添加身份证校验功能,只要输错一位,就是错的!(哪怕是符合正则表达式只要错一位,也会检测)




有意见或建议均可提


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +200 收起 理由
Simon.hu + 200 赞一个!

查看全部评分

22 个回复

倒序浏览
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-1-24 12:15:44
沙发
现在是不是都不怎么有一代身份证了吧?
回复 使用道具 举报
伤疤也微笑
初级会员   /  发表于:2019-1-24 12:20:43
板凳
Simon.hu 发表于 2019-1-24 12:15
现在是不是都不怎么有一代身份证了吧?

老的也可能会有15位的,不知道更新了没,如果没有的话可以直接用18位那个
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-1-24 12:21:12
地板
伤疤也微笑 发表于 2019-1-24 12:20
老的也可能会有15位的,不知道更新了没,如果没有的话可以直接用18位那个

嗯 ,没毛病!
回复 使用道具 举报
MatrixTian讲师达人认证 悬赏达人认证
高级会员   /  发表于:2019-1-24 13:54:07
5#
666,大牛的正则表达式写的真6
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-1-24 15:13:03
6#
大神,肯定6了,不然白叫大神了
回复 使用道具 举报
changshenglong
初级会员   /  发表于:2019-6-17 16:08:27
7#
身份证输入框是设置为文本还是数字呢?
回复 使用道具 举报
伤疤也微笑
初级会员   /  发表于:2019-6-17 16:27:40
8#
changshenglong 发表于 2019-6-17 16:08
身份证输入框是设置为文本还是数字呢?

设置为文本
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2019-6-17 16:42:36
9#
感谢支持呐~
回复 使用道具 举报
sz_xd
金牌服务用户   /  发表于:2020-6-3 21:38:07
10#
,   奇怪了!我下载这《身份证号码》工程进行测试时,发现正确的身份证号也提示为输入值非法呢?
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册