15/18位身份证号码验证的正则表达式总结(详细版)

转载  2017-03-24   作者:晓月残魂   我要评论

需要一个简单的验证身份证号的正则表达式,从网上查了很多,都有问题,所以干脆自己写一个,下面这篇文章主要给大家分享了关于15/18位身份证号码验证的正则表达式,文中介绍的非常详细,需要的朋友可以参考下。

前言

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • JScript中正则表达函数的说明与应用

    JScript中正则表达函数的说明与应用

    JScript中正则表达函数的说明与应用...
    2007-04-04
  • Java正则表达式过滤出字母、数字和中文

    Java正则表达式过滤出字母、数字和中文

    正则表达式在java程序中应用非常广泛,本文给大家介绍java正则表达式过滤字母、数字和中文,本文代码讲解的非常详细,非常具有参考价值,感兴趣的朋友快来看看吧
    2015-10-10
  • 读懂正则表达式就这么简单

    读懂正则表达式就这么简单

     对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,其实也没有你想象的那么难,今天小编就通过本文带领大家一起去学习正则表达式知识
    2016-11-11
  • JS正则中的match与exec使用说明

    JS正则中的match与exec使用说明

    match() 方法将检索目标字符串,以找到一个或多个与 正则表达式regexp 匹配的文本。
    2011-08-08
  • 用js实现过滤script的正则

    用js实现过滤script的正则

    今日研究discuz的代码,发现个不错的正则代码,基本上简单
    2008-05-05
  • 15个超实用的php正则表达式

    15个超实用的php正则表达式

    对于开发人员来说,正则表达式是一个非常有用的功能,它提供了 查找,匹配,替换 句子,单词,或者其他格式的字符串。这篇文章主要介绍了15个超实用的php正则表达式,需要的朋友可以参考下
    2015-11-11
  • PHP 正则表达式效率 贪婪、非贪婪与回溯分析(推荐)

    PHP 正则表达式效率 贪婪、非贪婪与回溯分析(推荐)

    先扫盲一下什么是正则表达式的贪婪,什么是非贪婪?或者说什么是匹配优先量词,什么是忽略优先量词,好吧,下面通过实例给大家介绍下PHP 正则表达式效率 贪婪、非贪婪与回溯分析,一起看看吧
    2016-12-12
  • 深入分析正则表达式的子模式

    深入分析正则表达式的子模式

    在正则表达式中,可以使用“(”和“)”将模式中的子字符串括起来,以形成一个子模式。将子模式视为一个整体时,那么它就相当于一个单个字符。下面我们就来详细了解下子模式
    2016-04-04
  • 20个正则表达式必知(能让你少写1,000行代码)

    20个正则表达式必知(能让你少写1,000行代码)

    这篇文章主要介绍了20个正则表达式必知(能让你少写1,000行代码)的相关资料,需要的朋友可以参考下
    2016-04-04
  • js正则表达式之RegExp对象之compile方法  编译正则表达式

    js正则表达式之RegExp对象之compile方法 编译正则表达式

    该方法可以编译指定的正则表达式,编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果
    2012-10-10

最新评论