首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正则表达式 - 18位身份证

一、身份证号规则         18位身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。...其中Ai表示第i位置上的身份证号码数字值,Wi表示第i位置上的加权因子,其各位对应的值依次为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2     (2)以11对计算结果取模...3)根据模的值得到对应的校验码,对应关系为:              Y值:0 1 2 3 4 5 6 7 8 9 10         校验码:1 0 X 9 8 7 6 5 4 3 2 二、身份证正则表达式...');           else              return ('身份证校验位错误');           end if;       else          return ('身份证格式错误...');       end if;     else        return ('身份证号码不是18位');     end if; end // delimiter ;

94520
您找到你想要的搜索结果了吗?
是的
没有找到

正则表达式的简单用法+利用正则表达式检验身份证号码格式

正则表达式最简单的用法就是用来判断一个字符串是否符合某种表达式,可以用正则表达式判断字符串是否属于电话号码,是否属于身份证号。。。。...首先要明白身份证号码的编码规则,然后根据编码规则去写正则表达式 身份证编码规则如下(身份证有15为何和18位,以18位身份证为例): 第1位和第2位:省,自治区,直辖市代码(有关取值可查看代码表); 第...第18位:表示校验码,可以是0-9或者X;(15位身份证无校验码) 验证15位身份证号码的正则表达式为: String matchString = "^[1-9]\\d{7}((0[1-9])||(1...[0-2]))((0[1-9])||(1\\d)||(2\\d)||(3[0-1]))\\d{3}$"; 验证18位身份证号码的正则表达式为: String matchString2 = "^[1-9...]\\d{5}[1-9]\\d{3}((0[1-9])||(1[0-2]))((0[1-9])||(1\\d)||(2\\d)||(3[0-1]))\\d{3}([0-9]||X)$"; 但是以上正则表达式验证的身份证号码只能说是符合身份证编码规则

59410

浅谈正则表达式验证身份证号码(C# winform)

先大概介绍一下身份证号码的组成情况(来自百度): 目前我国公民身份证号码由18位数字组成:前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。...虽然校验码为“X”不能更换,但若需全用数字表示,只需将18位公民身份号码转换成15位居民身份证号码,去掉第7至8位和最后1位3个数码。 当今的身份证号码有15位和18位之分。...1985年我国实行居民身份证制度,当时签发的身份证号码是15位的,1999年签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。这两种身份证号码将在相当长的一段时期内共存。...两种身份证号码的含义如下: 18位的身份证号码 如:130429####%%%%0078 1~6位为地区代码,其中1、2位数为各省级政府的代码,3、4位数为地、市级政府的代码,5、6位数为县、区级政府代码...以上正在表达式(红色部分)只能判断以下3种情况:   1、身份证号码为15位数字; 2、身份证号码为18位数字; 3、身份证号码为17位数字+1个字母    个人觉得,身份证组成还有出生年月至少应该加上一个日期判断

1.3K20

身份证号码的正则表达式及验证详解(JavaScript,Regex)

简言 在做用户实名验证时,常会用到身份证号码的正则表达式及校验方案。本文列举了两种验证方案,大家可以根据自己的项目实际情况,选择适合的方案。...[idcard-check] 身份证号码说明 居民身份证号码,正确、正式的称谓应该是“公民身份号码”。...以北京市朝阳区一女性身份证号码为例,身份证号码所表示的含义如下图所示: [身份证号码含义解析] 注:该身份证号码来源于国标【GB 11643-1999】。...1.1.5 顺序码规则: 顺序码长3位 顺序码是数字 根据以上规则,写出顺序码的正则表达式 :/\d{3}/。...1.2 方案1正则表达式 综合以上6条规则,给出完整的正则表达式及测试程序如下: var p = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2

23.7K134

正则表达式匹配身份证 电话号码 邮箱 住宅电话 邮编等

身份证号码的匹配 大陆的居民身份证号码有两种:18位和15位,15位的身份证号码是老一代身份证号码。...身份证号码总共有4个部分(15位号码只有3部分),从左向右分别为:第一部分有6位,为居民在办理身份证时户口所在地的地址码(什么是地址码?...(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:/n/s*/r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(/S*?).../d) 评注:中国邮政编码为6位数字 匹配身份证:/d{15}|/d{18} 评注:中国的身份证为15位或18位 匹配ip地址:/d+/./d+/./d+/..../ 匹配首尾空格的正则表达式:(^/s*)|(/s*$) 匹配Email地址的正则表达式:/w+([-+.]

1.2K40

版本号的正则表达式-身份证号码的正则表达式及验证详解(JavaScript,Regex)

简言   在做用户实名验证时,常会用到身份证号码的正则表达式及校验方案。本文列举了两种验证方案,大家可以根据自己的项目实际情况,选择适合的方案。   ...身份证号码说明   居民身份证号码,正确、正式的称谓应该是“公民身份号码”。...以北京市朝阳区一女性身份证号码为例,身份证号码所表示的含义如下图所示:   注:该身份证号码来源于国标【GB 11643-1999】。   下面我们就从零开始完成一个完整的身份证号码校验过程。   ...1.1.5 顺序码规则:   根据以上规则,写出顺序码的正则表达式 :/\d{3}/。   1.1.6 校验码规则:   根据以上规则,写出校验码的正则表达式 :/[0-9Xx]/。   ...也有说法表述91开头是外国人取得中国身份证号码的前两位编码,但本人并未得到证实。如有持91开头身份证或认识马布里的,请帮忙确认相关信息。

1.5K10

PHP正则表达式验证手机号、邮箱、身份证号码、姓名等

而PHP给我提供了正则表达式验证函数,我们可以很方便的通过正则表达式的验证函数,来检查数据流是否符合标准。今天我们就列出一些常用的正则表达式,就当做一个记录吧。...而PHP给我提供了正则表达式验证函数,我们可以很方便的通过正则表达式的验证函数,来检查数据流是否符合标准。 今天我们就列出一些常用的正则表达式,就当做一个记录吧。...+([a-z]{2,5})$/ims';if(preg_match($preg_email,$email)){     echo 1;}else{     echo 0;} PHP验证身份证正则表达式代码...|(^\d{17}([0-9]|X)$/isu';if(preg_match($preg_card,$IDCard)){     echo 1;}else{     echo 0;} 注意:这里只是对身份证号中的数字与位数进行的验证...,如果想要严格的验证,请参考本博客的关于身份证号码验证的其它文章。

3.5K20

新旧身份证(继承)

身份证第18位校验码的生成方法: 1、将身份证号码前17位数分别乘以7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2。然后将其相加。...也即:如果余数是3,身份证第18位就是9。如果余数是2,身份证的最后一位号码就是X。...确认15位身份证正确. 2. 确认18位号码是从15位号码扩展的,且第18位校验码正确. 3. 身份证中的出生日期合法. 4. 身份证号码中不含非法字符. 5. 身份证号码的长度正确. 6....身份证目前处于有效期内. (2017年5月10日) 输入 测试数据的组数 t 第一个人姓名、出生日期年月日、15位身份证号码、18位身份证号码、签发日期年月日、有效期(100年按长期处理) 第二个人姓名...、出生日期年月日、15位身份证号码、18位身份证号码、签发日期年月日、有效期(100年按长期处理) ......

24530

JavaScript最新手机、电话、身份证号码和汉字等的正则表达式

使用 JavaScript 正则表达式可以进行强大的模式匹配和文本检索与替换功能,下面整理了一下手机和电话号码的正则表达式。...JavaScript中的正则表达式总结(大量的正则) JavaScript正则表达式(例子) 固定电话号码正则表达式: function checkTel(){     var tel = document.getElementById...\d{7,14}$/.test(tel)){         alert('固定电话有误,请重填');         return false;     } } 身份证正则: //身份证正则表达式(15...位) isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; //身份证正则表达式(18位) isIDCard2=/^[1-...var str = 'This is a box'; alert(pattern.test(str)); //true 声明:本文由w3h5原创,转载请注明出处:《JavaScript最新手机、电话、身份证号码和汉字等的正则表达式

1.5K40
领券