js生成18位身份證號

// 生成隨機(jī)數(shù)字槽驶,max限制最大值责嚷,base限制最小值
function getRandom(max, base) { 
    return Math.floor(Math.random() * max + (base ? base : 0));
}

// 根據(jù)前17位生成末位
// 生成隨機(jī)數(shù)字,max限制最大值掂铐,base限制最小值
function getRandom(max, base) { 
    return Math.floor(Math.random() * max + (base ? base : 0));
}

// 根據(jù)前17位生成末位
function cnNewID(idcard) {
    var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; // 加權(quán)因子
    var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2]; // 校驗(yàn)碼
    var sum = 0, idx;
    for (var j = 0; j < 17; j++) {
      // 對前17位數(shù)字與權(quán)值乘積求和
      sum += parseInt(idcard[j], 10) * arrExp[j];
    }
    return arrValid[sum % 11];
}

// 生成身份證號
function getIdcard() {
    var idcard = '';
    for(var i = 0; i < 18; i++) {
        if(i < 6) {
            idcard += getRandom(10)
        }else if(i == 6) {
            idcard += getRandom(2, 1) //年份第一位僅支持1和2
        }else if(i == 7) { 
            idcard += idcard[6] == '1' ? 9 : 0;//兩位年份規(guī)則罕拂,僅支持19和20
        }else if(i == 8) {
            idcard += idcard[6] == '1' ? getRandom(7, 3) : getRandom(2); //三位年份規(guī)則揍异,僅支持193-199、200爆班、201這些值
        }else if(i == 9) {
            idcard += getRandom(10) //四位年份規(guī)則,0-9
        }else if(i == 10) {
            idcard += getRandom(2);//首位月份規(guī)則
        }else if(i == 11) {
            idcard += idcard[10] == '0' ? getRandom(9, 1) : getRandom(3);//末位月份規(guī)則
        }else if(i == 12) {
            var maxDays = new Date(idcard.substr(6, 4), idcard.substr(10, 2), 0).getDate(); // 獲取當(dāng)月最大天數(shù)
            var day = getRandom(maxDays, 1)
            idcard += day < 10 ? ('0' + day) : day;
            i++
        }else if(i > 13 && i < 17) {
            idcard += getRandom(10)
        }else if(i == 17) {
            idcard += cnNewID(idcard);
        }
    }
    return idcard;
}

console.log(getIdcard()) // 身份證號

附身份證各位校驗(yàn)正則表達(dá)式:

    let withBirthRE1 = /^\d{6}[03-9]$/; // 年份第一位
    let withBirthRE2 = /^\d{6}(19|20)$/; //兩位年份規(guī)則
    let withBirthRE3 = /^\d{6}(19[3-9]|20[01])$/; //三位年份規(guī)則衷掷,僅支持193-199、200柿菩、201這些值
    let withBirthRE4 = /^\d{6}(19[3-9][0-9]|20[1-2][0-9])$/; //四位年份規(guī)則
    let withBirthRE5 = /^\d{10}[01]$/; //月份首位規(guī)則
    let withBirthRE6 = /^\d{10}(0[1-9]|1[012])$/; //月份末位規(guī)則
    let withBirthRE7 = /^\d{12}[0-3]$/; //日期首位規(guī)則
    let withBirthRE8 = /^\d{12}([012][0-9]|3[01])$/; //日期末位規(guī)則

僅供參考戚嗅,有不合理之處請各位看官老爺指出。
如果有用枢舶,別忘記點(diǎn)個贊哦

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末懦胞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子凉泄,更是在濱河造成了極大的恐慌医瘫,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旧困,死亡現(xiàn)場離奇詭異醇份,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)吼具,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門僚纷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拗盒,你說我怎么就攤上這事怖竭。” “怎么了陡蝇?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵痊臭,是天一觀的道長。 經(jīng)常有香客問我登夫,道長广匙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任恼策,我火速辦了婚禮鸦致,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘涣楷。我一直安慰自己篡九,他們只是感情好堤撵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布晚凿。 她就那樣靜靜地躺著补疑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碳褒。 梳的紋絲不亂的頭發(fā)上折砸,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天捍壤,我揣著相機(jī)與錄音,去河邊找鬼鞍爱。 笑死,一個胖子當(dāng)著我的面吹牛专酗,可吹牛的內(nèi)容都是我干的睹逃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼祷肯,長吁一口氣:“原來是場噩夢啊……” “哼沉填!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起佑笋,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤翼闹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蒋纬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猎荠,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年蜀备,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了关摇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡碾阁,死狀恐怖输虱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情脂凶,我是刑警寧澤宪睹,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站蚕钦,受9級特大地震影響亭病,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嘶居,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一命贴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧食听,春花似錦胸蛛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至迹蛤,卻和暖如春民珍,著一層夾襖步出監(jiān)牢的瞬間襟士,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工嚷量, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留陋桂,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓蝶溶,卻偏偏與公主長得像嗜历,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子抖所,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353