摘要:例也可通過驗證,而月并不存在日校驗碼是由位本體碼計算得出,方案并未校驗此碼這個鏈接中的位正則表達式錯的,最后順序碼應該是位。
身份證正則表達式
在項目中遇到身份證號碼驗證,百度了一些資料,太簡單的和太復雜的pass,綜合了一些案例,取長補短,形成了個折中版本的,正則表達式如下:
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:"請輸入正確的身份證號碼"}); return false; }身份證介紹
身份證分15位和18位的,那么這兩個版本有什么區(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 順序碼+校驗碼 18位身份證4位,最后一位可能是X, 15位身份證順序碼3位,沒有校驗碼表達式介紹
看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]: 順序碼三位 + 一位校驗碼 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} 順序碼三位,沒有校驗碼表達式存在不足
這個身份證表達式只是折中版本的校驗,滿足15位和18位身份證校驗的基本需求了,但是還存在一些不足,網(wǎng)上有非常精確的身份證校驗,但是代碼太多,各種js驗證,參考資料鏈接中有提供。
地址碼判定不夠精確。例:我國并不存在16,26開頭的地區(qū),卻可通過驗證
日期判定不夠精確。例:19490231也可通過驗證,而2月并不存在31日
校驗碼是由17位本體碼計算得出,方案1并未校驗此碼
ps: 這個鏈接中的15位正則表達式錯的,最后順序碼應該是3位。
15/18位身份證號碼驗證的正則表達式總結(jié)
身份證號碼的正則表達式及驗證詳解(JavaScript,Regex)
大陸--身份證(本國人)正則表達式
15/18位身份證號碼正則表達式(詳細版)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/98409.html
摘要:簡言在做用戶實名驗證時,常會用到身份證號碼的正則表達式及校驗方案。身份證號碼說明居民身份證號碼,正確正式的稱謂應該是公民身份號碼。也有說法表述開頭是外國人取得中國身份證號碼的前兩位編碼,但本人并未得到證實。 簡言 在做用戶實名驗證時,常會用到身份證號碼的正則表達式及校驗方案。本文列舉了兩種驗證方案,大家可以根據(jù)自己的項目實際情況,選擇適合的方案。 showImg(https://seg...
摘要:常用正則表達式及其思路詳解注意正則表達式的匹配超大文本的效率比較低,為了匹配效率加快,最好是是先精確到小模塊,再使用正則匹配,這樣搜索效率會快一點。出生日期碼表示編碼對象出生的年月日,其中年份用四位數(shù)字表示,年月日之間不用分隔符。 常用正則表達式及其思路詳解 注意:正則表達式的匹配超大文本的效率比較低,為了匹配效率加快,最好是是先精確到小模塊,再使用正則匹配,這樣搜索效率會快一點。 v...
摘要:驗證是否含有等字符只能輸入漢字驗證地址驗證驗證電話號碼正確格式為,,,,,。驗證身份證號位或位數(shù)字驗證一年的個月正確格式為和驗證一個月的天正確格式為和。 一、校驗數(shù)字的表達式 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ù)字...
摘要:前言在我們做用戶授權(quán)登錄微信授權(quán),以及根據(jù)對應瀏覽器做對應的操作的時候,經(jīng)常會遇到需要判斷用戶使用的瀏覽器的需求,以及在需要用戶輸入信息的時候,有需要驗證的一些正則。 前言 在我們做用戶授權(quán)登錄(微信,qq授權(quán)),以及根據(jù)對應瀏覽器做對應的操作的時候,經(jīng)常會遇到需要判斷用戶使用的瀏覽器的需求,以及在需要用戶輸入信息的時候,有需要驗證的一些正則。如果喜歡的話可以點波贊/關注,支持一下,希...
閱讀 7679·2023-04-25 14:36
閱讀 1764·2021-11-22 09:34
閱讀 2155·2019-08-30 15:55
閱讀 3152·2019-08-30 11:19
閱讀 1312·2019-08-29 15:17
閱讀 555·2019-08-29 12:47
閱讀 3001·2019-08-26 13:38
閱讀 2631·2019-08-26 11:00