身份证正则表达式

身份证号码有15/18位之分。早期签发的身份证号码是15位的,现在签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。这两种身份证号码将在相当长的一段时期内共存。两种身份证号码的含义如下: 

(1)15位的身份证号码:1~6位为地区代码,7~8位为出生年份(2位),9~10位为出生月份,11~12位为出生日期,第13~15位为顺序号,并能够判断性别,奇数为男,偶数为女。 

(2)18位的身份证号码:1~6位为地区代码,7~10位为出生年份(4位),11~12位为出生月份,13~14位为出生日期,第15~17位为顺序号,并能够判断性别,奇数为男,偶数为女。18位为效验位。 

作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。X是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。

也就是说:身份证在正则里会有三种情况:1,18位数字2,17位数字+x3,15位数字
var reg = /^(\d{18}|\d{15}|\d{17}x)$/;
 
var str = "441521199908188511";

console.debug(reg.test(str));
str = "44152119990818851x";console.debug(reg.test(str));

str = "441521199908188";console.debug(reg.test(str));
时间: 2024-11-05 10:21:35

身份证正则表达式的相关文章

js最新手机号码、身份证正则表达式

正则表达式(regular expression)是一个描述字符模式的对象.使用正则表达式可以进行强大的模式匹配和文本检索与替换功能. 身份证正则: //身份证正则表达式(15位) isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; //身份证正则表达式(18位) isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;

身份证正则表达式验证

var isIDCardReg15 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//这是验证15位的 var isIDCardReg18 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/;//则是验证18位的 var isIdCardReg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/;//这是15位

2015最新手机号码、身份证,正则表达式

正则表达式(regular expression)是一个描述字符模式的对象.使用正则表达式可以进行强大的模式匹配和文本检索与替换功能. 身份证正则: //身份证正则表达式(15位) isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; //身份证正则表达式(18位) isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;

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)) 天

大陆、港澳台身份证、护照、军官证的正则表达式

原文:大陆.港澳台身份证.护照.军官证的正则表达式 最近工作因为工作需要,有一个身份验证需要前端验证大陆.港澳台身份证.护照.军官证号码的合法性. 初步整理了一下各个验证的正则表达式,如有错误请大家指出,谢谢! 大陆身份证正则表达式: idCardValid(id) { // 1 "验证通过!", 0 //校验不通过 var format = /^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7

JS正则表达式完整教程(略长)

JS正则表达式完整教程(略长) 引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣. 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准. 关于正则表达式的教程,网上也有很多,相信你也看了一些. 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高. 本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面. 如果觉得文章某块儿没有说明白清楚,欢迎留言,能力范围之内,老姚必做详细解答. 具体章节如下: 引言 第一章 正则表

一些常用的正则表达式

正则表达式:验证手机和电话号码^1\d{10}$|^(0\d{2,3}-?|\(0\d{2,3}\))?[1-9]\d{4,7}(-\d{1,8})?$ 规则说明:1.可以是1开头的11位数字(手机号)2.可以是“区号-电话号-分机号”或者是“(区号)电话号-分机号”格式3.区号是0开头的3-4位数字,可以没有区号4.电话号是5-8位数字,不能以0开头5.分机号是1-8位数字,可以没有分机号 合法数据示例:13812341234010-12345678(0432)1234567-1234 提取信

js实现身份证号码验证

/*根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.地址码表示编码对象常住户口所在县(市.旗.区)的行政区划代码.出生日期码表示编码对象出生的年.月.日,其中年份用四位数字表示,年.月.日之间不用分隔符.顺序码表示同一地址码所标识的区域范围内,对同年.月.日出生的人员编定的顺序号.顺序码的奇数分给男性,偶

js常用正则表达式表单验证代码

方法一: var re=/正则表达式/; re.test($("txtid").val()) 方法二: $("txtid").val.match(/正则表达式/): 附: 验证数字的正则表达式集(转载) 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证