首页 > 试题广场 >

关于身份证号,以下正确的正则表达式为( ...

[单选题]
关于身份证号,以下正确的正则表达式为(      )
  • isIDCard=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
  • isIDCard=/^[1-9]\d{7}((9\d)|(1[0-2]))(([0|1|2]\d)|3[9-1])\d{3}$/;
  • isIDCard=/^[1-9]\d{9}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0,1])\d{3}(\d|[x,X])$/;
  • isIDCard=/^[1-9]\d{5}[1-9]\d{3}((9\d)|(1[9-2]))(([0|1|2]\d)|3[9-1])\d{4}$/;
不知这些题是怎么上传的,质量不敢恭维。
这道题没有答案,全是错的。

对于18位身份证而言,按最简单的规则判断:
[1-9]\d{5} //前6位地区码
\d{4} //年
(0[1-9]|1[0-2]) //月
(0[1-9]|[1-2]\d|3[0-1]) //日
\d{3}(\d|[xX]) //末四位
因此拼一起简单的规则为:
^[1-9]\d{9}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}(\d|[xX])$
唉好遗憾,题目的质量真的低。
编辑于 2018-12-22 08:37:54 回复(4)
身份证最后可以是x,所以选c😅
发表于 2019-09-12 20:02:21 回复(1)
建议改成单项选择。
发表于 2021-05-12 17:42:09 回复(0)
可以用筛选法,身份行里面有一个月份,关注月份其他别管,月份是1-12月至今,那么月份上正则只能是0[1-9] | 1[0-2]
发表于 2019-09-12 14:11:57 回复(0)