美文网首页
Python 总结之正则身份证号码

Python 总结之正则身份证号码

作者: Elvis_zhou | 来源:发表于2018-05-11 23:51 被阅读0次

开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单、效率最高的方式了,下面就来看看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; } }
总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助

相关文章

  • Python 总结之正则身份证号码

    开发过程中,常常需要对一些输入信息进行有效性验证,使用正则表达式进行校验是最简单、效率最高的方式了,下面就来看看1...

  • Golang 正则表达式

    参考golang之正则校验golang正则使用总结

  • Python总结之 正则高级

    原来写过一篇关于正则表达式的文章,这里再补充几个实际项目中用到的例子.注意:下面样例都是scala代码 1 捕获组...

  • python爬虫之正则表达

    python爬虫之正则表达 概述 这部分主要讲的是python中的re模块。 最简单的正则表达就是普通字符串的匹配...

  • Python学习总结【连载】(十五)

    Python学习总结【连载】(十五) 2018.07.02 Juttachen 概述 53 认识正则表达式 54 ...

  • Python ☞ day 11

    Python学习笔记之 正则表达式 re模块概述:Python自1.5以后增加了re的模块,提供了正则表达式模式...

  • 正则表达式

    Python正则表达式初识(一) Python正则表达式初识(二) Python正则表达式初识(三) Python...

  • 正则表达式

    Python:正则表达式Python:正则表达式

  • Python正则表达式指南

    Python正则表达式指南 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达...

  • 常用的正则表达式含义

    从《Python编程快速上手》看到的正则表达式总结,摘下来以备查询

网友评论

      本文标题:Python 总结之正则身份证号码

      本文链接:https://www.haomeiwen.com/subject/ohlxdftx.html