国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

15位、18位身份證號(hào)碼正則表達(dá)式

galois / 1901人閱讀

摘要:例也可通過(guò)驗(yàn)證,而月并不存在日校驗(yàn)碼是由位本體碼計(jì)算得出,方案并未校驗(yàn)此碼這個(gè)鏈接中的位正則表達(dá)式錯(cuò)的,最后順序碼應(yīng)該是位。

身份證正則表達(dá)式

在項(xiàng)目中遇到身份證號(hào)碼驗(yàn)證,百度了一些資料,太簡(jiǎn)單的和太復(fù)雜的pass,綜合了一些案例,取長(zhǎng)補(bǔ)短,形成了個(gè)折中版本的,正則表達(dá)式如下:

var reg =/(^[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{3}$)/;
if(!reg.test(IDCard)){
    this.warnTips({txt:"請(qǐng)輸入正確的身份證號(hào)碼"});
    return false;
}
身份證介紹

身份證分15位和18位的,那么這兩個(gè)版本有什么區(qū)別呢?

第二代身份證,18位 XXXXXX yyyy MM dd 375 0

第一代身份證,15位 XXXXXX yy MM dd 75 0

從圖片中可以看出,

1-6位為地區(qū)編碼
7-10  出身年份 4位,第一代身份證只有兩位
11-14 出身年月日 4位
15-18 順序碼+校驗(yàn)碼 18位身份證4位,最后一位可能是X, 15位身份證順序碼3位,沒有校驗(yàn)碼
表達(dá)式介紹
看18位的身份證正則:
[1-9]d{5}                 前六位地區(qū),非0打頭
(18|19|([23]d))d{2}      出身年份,覆蓋范圍為 1800-3999 年
((0[1-9])|(10|11|12))      月份,01-12月
(([0-2][1-9])|10|20|30|31) 日期,01-31天
d{3}[0-9Xx]:              順序碼三位 + 一位校驗(yàn)碼

15位的身份證:
[1-9]d{5}                  前六位地區(qū),非0打頭     
d{2}                       出生年份后兩位00-99
((0[1-9])|(10|11|12))       月份,01-12月
(([0-2][1-9])|10|20|30|31)  日期,01-31天
d{3}                       順序碼三位,沒有校驗(yàn)碼
   
表達(dá)式存在不足

這個(gè)身份證表達(dá)式只是折中版本的校驗(yàn),滿足15位和18位身份證校驗(yàn)的基本需求了,但是還存在一些不足,網(wǎng)上有非常精確的身份證校驗(yàn),但是代碼太多,各種js驗(yàn)證,參考資料鏈接中有提供。

地址碼判定不夠精確。例:我國(guó)并不存在16,26開頭的地區(qū),卻可通過(guò)驗(yàn)證

日期判定不夠精確。例:19490231也可通過(guò)驗(yàn)證,而2月并不存在31日
校驗(yàn)碼是由17位本體碼計(jì)算得出,方案1并未校驗(yàn)此碼
ps: 這個(gè)鏈接中的15位正則表達(dá)式錯(cuò)的,最后順序碼應(yīng)該是3位。
15/18位身份證號(hào)碼驗(yàn)證的正則表達(dá)式總結(jié)

參考資料

身份證號(hào)碼的正則表達(dá)式及驗(yàn)證詳解(JavaScript,Regex)

大陸--身份證(本國(guó)人)正則表達(dá)式

15/18位身份證號(hào)碼正則表達(dá)式(詳細(xì)版)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/98409.html

相關(guān)文章

  • 份證號(hào)碼正則達(dá)式及驗(yàn)證詳解(JavaScript,Regex)

    摘要:簡(jiǎn)言在做用戶實(shí)名驗(yàn)證時(shí),常會(huì)用到身份證號(hào)碼的正則表達(dá)式及校驗(yàn)方案。身份證號(hào)碼說(shuō)明居民身份證號(hào)碼,正確正式的稱謂應(yīng)該是公民身份號(hào)碼。也有說(shuō)法表述開頭是外國(guó)人取得中國(guó)身份證號(hào)碼的前兩位編碼,但本人并未得到證實(shí)。 簡(jiǎn)言 在做用戶實(shí)名驗(yàn)證時(shí),常會(huì)用到身份證號(hào)碼的正則表達(dá)式及校驗(yàn)方案。本文列舉了兩種驗(yàn)證方案,大家可以根據(jù)自己的項(xiàng)目實(shí)際情況,選擇適合的方案。 showImg(https://seg...

    laznrbfe 評(píng)論0 收藏0
  • 正則達(dá)式

    摘要:下面分別分析出生日期和校驗(yàn)位檢查生日日期是否正確輸入的身份證號(hào)里出生日期不對(duì)將位身份證轉(zhuǎn)成位校驗(yàn)位按照的規(guī)定生成,可以認(rèn)為是數(shù)字。 一、創(chuàng)建方式 字面量創(chuàng)建方式var reg = /abc/;對(duì)象RegExp,適合正則表達(dá)式模式不確定的時(shí)候var reg = new RegExp(abc); 二、表達(dá)式模式(部分) 常用: 1. w匹配一個(gè)單字字符(字母,數(shù)字,下劃線) W2. d匹配...

    iKcamp 評(píng)論0 收藏0
  • 常用正則達(dá)式及其思路詳解

    摘要:常用正則表達(dá)式及其思路詳解注意正則表達(dá)式的匹配超大文本的效率比較低,為了匹配效率加快,最好是是先精確到小模塊,再使用正則匹配,這樣搜索效率會(huì)快一點(diǎn)。出生日期碼表示編碼對(duì)象出生的年月日,其中年份用四位數(shù)字表示,年月日之間不用分隔符。 常用正則表達(dá)式及其思路詳解 注意:正則表達(dá)式的匹配超大文本的效率比較低,為了匹配效率加快,最好是是先精確到小模塊,再使用正則匹配,這樣搜索效率會(huì)快一點(diǎn)。 v...

    kevin 評(píng)論0 收藏0
  • 基于PHP/CURL/codeIgniter的Spider Webbot爬蟲[7]常用正則達(dá)式

    摘要:驗(yàn)證是否含有等字符只能輸入漢字驗(yàn)證地址驗(yàn)證驗(yàn)證電話號(hào)碼正確格式為,,,,,。驗(yàn)證身份證號(hào)位或位數(shù)字驗(yàn)證一年的個(gè)月正確格式為和驗(yàn)證一個(gè)月的天正確格式為和。 一、校驗(yàn)數(shù)字的表達(dá)式 1 數(shù)字:^[0-9]*$ 2 n位的數(shù)字:^d{n}$ 3 至少n位的數(shù)字:^d{n,}$ 4 m-n位的數(shù)字:^d{m,n}$ 5 零和非零開頭的數(shù)字:^(0|1-9*)$ 6 非零開頭的最多帶兩位小數(shù)的數(shù)字...

    wow_worktile 評(píng)論0 收藏0
  • 如何判斷用戶瀏覽器以及一些前端常用的正則表單驗(yàn)證

    摘要:前言在我們做用戶授權(quán)登錄微信授權(quán),以及根據(jù)對(duì)應(yīng)瀏覽器做對(duì)應(yīng)的操作的時(shí)候,經(jīng)常會(huì)遇到需要判斷用戶使用的瀏覽器的需求,以及在需要用戶輸入信息的時(shí)候,有需要驗(yàn)證的一些正則。 前言 在我們做用戶授權(quán)登錄(微信,qq授權(quán)),以及根據(jù)對(duì)應(yīng)瀏覽器做對(duì)應(yīng)的操作的時(shí)候,經(jīng)常會(huì)遇到需要判斷用戶使用的瀏覽器的需求,以及在需要用戶輸入信息的時(shí)候,有需要驗(yàn)證的一些正則。如果喜歡的話可以點(diǎn)波贊/關(guān)注,支持一下,希...

    JiaXinYi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

galois

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<