JS验证身份证的正则表达式?

1,要验证是否是15位或18位的;2,要验证出生日期是否正确;出生年份在【1900】-【2000】吧!我有一个:可以有些情况出错/([1-6]\d{5}(19|20)\d... 1,要验证是否是15位或18位的;
2,要验证出生日期是否正确;
出生年份在【1900】-【2000】吧!

我有一个:可以有些情况出错
/([1-6]\d{5}(19|20)\d\d(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9xX])|([1-6]\d{5}\d\d(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3})/
展开
 我来答
lichuanbao1234
2009-12-31 · TA获得超过159个赞
知道答主
回答量:67
采纳率:0%
帮助的人:58.8万
展开全部
18位身份证:
先用这个表达式取出出生年份
\d{6}(\d{4})\d{8}
$1就是四位的年份,比如1986
在用这个表达式判断是不是在1900-2000之间
(19\d{2}|2000)

15位身份证,这种身份证1900和2000是区分不出来的,这种身份证年份只用后两位表示
先用这个表达式取出出生年份
\d{6}(\d{2})\d{7}
$1就是二位的年份,比如86
在用这个表达式判断是不是在1900-2000之间
\d{2}

这是主要的方法,细节就不写啦,呵呵,我还有活,祝你好运
genie2014
2009-12-28 · TA获得超过6488个赞
知道小有建树答主
回答量:1140
采纳率:0%
帮助的人:919万
展开全部
\d{15}|\d{18}
这个只能验证位数,至于出生日期,很难判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
faith008cw
2009-12-28
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
楼主能不能将出生日期正确的标准定义一下

我觉得单用正则似乎无法判断出生日期的正确性

期待高人
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式