二代身份證號(hào)碼正則驗(yàn)證【轉(zhuǎn)】

一代身份證號(hào)碼是十五位场绿, 2013年1月1日開始,咱們中國(guó)全面停止使用一代身份證了嫉入。

二代身份證號(hào)碼:

  • 1-6位:表示行政區(qū)劃的代碼焰盗。
  • 1璧尸、2位,所在拾揪堋(直轄市爷光,自治區(qū))代碼;
  • 3澎粟、4位蛀序,所在地級(jí)市(自治州)代碼;
  • 5活烙、6位徐裸,所在區(qū)(縣,自治縣啸盏,縣級(jí)市)的代碼重贺;
  • 7-14位:表示出生年、月回懦、日
  • 15-16位:所在地派出所代碼
  • 17位:性別气笙。奇數(shù)(1、3怯晕、5潜圃、7、9)男性贫贝,偶數(shù)(2秉犹、4、6稚晚、8崇堵、0)女性
  • 18位:校驗(yàn)位,存在十一個(gè)值:0,1,2,3,4,5,6,7,8,9,X客燕,其值是用固定公式根據(jù)前面十七位計(jì)算出來的鸳劳。

第十八位的數(shù)字是根據(jù)ISO 7064:1983.MOD 11-2校驗(yàn)碼算法計(jì)算出來的

// 函數(shù)參數(shù)必須是字符串,因?yàn)槎矸葑C號(hào)碼是十八位也搓,而在javascript中赏廓,十八位的數(shù)值會(huì)超出計(jì)算范圍,造成不精確的結(jié)果傍妒,導(dǎo)致最后兩位和計(jì)算的值不一致幔摸,從而該函數(shù)出現(xiàn)錯(cuò)誤。
function checkIDCard(idcode){
    // 加權(quán)因子
    var weight_factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
    // 校驗(yàn)碼
    var check_code = ['1', '0', 'X' , '9', '8', '7', '6', '5', '4', '3', '2'];

    var code = idcode + "";
    var last = idcode[17];//最后一位

    var seventeen = code.substring(0,17);

    // ISO 7064:1983.MOD 11-2
    // 判斷最后一位校驗(yàn)碼是否正確
    var arr = seventeen.split("");
    var len = arr.length;
    var num = 0;
    for(var i = 0; i < len; i++){
        num = num + arr[i] * weight_factor[i];
    }
    
    // 獲取余數(shù)
    var resisue = num%11;
    var last_no = check_code[resisue];

    // 格式的正則
    // 正則思路
    /*
    第一位不可能是0
    第二位到第六位可以是0-9
    第七位到第十位是年份颤练,所以七八位為19或者20
    十一位和十二位是月份既忆,這兩位是01-12之間的數(shù)值
    十三位和十四位是日期,是從01-31之間的數(shù)值
    十五,十六患雇,十七都是數(shù)字0-9
    十八位可能是數(shù)字0-9跃脊,也可能是X
    */
    var idcard_patter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/;

    // 判斷格式是否正確
    var format = idcard_patter.test(idcode);

    // 返回驗(yàn)證結(jié)果,校驗(yàn)碼和格式同時(shí)正確才算是合法的身份證號(hào)碼
    return last === last_no && format ? true : false;
}

原文鏈接:https://blog.csdn.net/gqzydh/article/details/90295842

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末苛吱,一起剝皮案震驚了整個(gè)濱河市酪术,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌翠储,老刑警劉巖绘雁,帶你破解...
    沈念sama閱讀 211,423評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異彰亥,居然都是意外死亡咧七,警方通過查閱死者的電腦和手機(jī)衰齐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門任斋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人耻涛,你說我怎么就攤上這事废酷。” “怎么了抹缕?”我有些...
    開封第一講書人閱讀 157,019評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵澈蟆,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我卓研,道長(zhǎng)趴俘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,443評(píng)論 1 283
  • 正文 為了忘掉前任奏赘,我火速辦了婚禮寥闪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘磨淌。我一直安慰自己疲憋,他們只是感情好二驰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評(píng)論 6 385
  • 文/花漫 我一把揭開白布探赫。 她就那樣靜靜地躺著酗洒,像睡著了一般蚌讼。 火紅的嫁衣襯著肌膚如雪辜腺。 梳的紋絲不亂的頭發(fā)上牢酵,一...
    開封第一講書人閱讀 49,798評(píng)論 1 290
  • 那天秸弛,我揣著相機(jī)與錄音医咨,去河邊找鬼构舟。 笑死灰追,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播监嗜,決...
    沈念sama閱讀 38,941評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼谐檀,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了裁奇?” 一聲冷哼從身側(cè)響起桐猬,我...
    開封第一講書人閱讀 37,704評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刽肠,沒想到半個(gè)月后溃肪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,152評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡音五,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評(píng)論 2 327
  • 正文 我和宋清朗相戀三年惫撰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躺涝。...
    茶點(diǎn)故事閱讀 38,629評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡厨钻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坚嗜,到底是詐尸還是另有隱情夯膀,我是刑警寧澤,帶...
    沈念sama閱讀 34,295評(píng)論 4 329
  • 正文 年R本政府宣布苍蔬,位于F島的核電站诱建,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏碟绑。R本人自食惡果不足惜俺猿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望格仲。 院中可真熱鬧押袍,春花似錦、人聲如沸抓狭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽否过。三九已至午笛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苗桂,已是汗流浹背药磺。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留煤伟,地道東北人癌佩。 一個(gè)月前我還...
    沈念sama閱讀 46,333評(píng)論 2 360
  • 正文 我出身青樓木缝,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親围辙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子我碟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容