一起学习网 一起学习网


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

网络编程 15/18位身份证号码验证的正则表达式总结(详细版) 06-21

前言

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

总结

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

浅析正则表达式中的lastIndex以及预查
依次写出下列输出内容。varreg1=/a/;varreg2=/a/g;console.log(reg1.test('abcabc'));//trueconsole.log(reg1.test('abcabc'));//trueconsole.log(reg1.test('abcabc'));//trueconsole.log(reg1.test('ab

JS正则表达式一条龙讲解(从原理和语法到JS正则)
正则啊,就像一座灯塔,当你在字符串的海洋不知所措的时候,总能给你一点思路;正则啊,就像一台验钞机,在你不知道用户提交的钞票真假的时候

JavaScript的正则也有单行模式了
正则表达式最早是由KenThompson于1970年在他改进过的QED编辑器里实现的,正则里最简单的元字符.在当时所匹配的就是除换行符外的任意字符:"."isaregularexp


编辑:一起学习网

标签:正则,两位,正则表达式,就像,字符