王新阳

wangxinyang

身份证号码校验

function idCardValid(a) {
    var c, d, e, f, g, h, b = a;
    if ("" === b) return !1;
    if (/^\d{17}[\dXx]$/.test(b) === !1) return !1;
    if (c = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ], d = [ "1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2" ], 
    e = 0, f = 0, 15 == b.length) {
        for (b = b.substr(0, 6) + "19" + b.substr(6), f = 0; 17 > f; f++) e += b.substr(f, 1) * c[f];
        b += d[e % 11];
    }
    if (g = {
        11:"北京", 12:"天津", 13:"河北", 14:"山西", 15:"内蒙古",
        21:"辽宁", 22:"吉林", 23:"黑龙江",
        31:"上海", 32:"江苏", 33:"浙江", 34:"安徽", 35:"福建", 36:"江西", 37:"山东",
        41:"河南", 42:"湖北", 43:"湖南", 44:"广东", 45:"广西", 46:"海南",
        50:"重庆", 51:"四川", 52:"贵州", 53:"云南", 54:"西藏",
        61:"陕西", 62:"甘肃", 63:"青海", 64:"宁夏", 65:"新疆",
        71:"台湾", 81:"香港", 82:"澳门", 91:"国外"
    }, void 0 == g[b.substr(0, 2)]) return !1;
    if (h = [ b.substr(6, 4), b.substr(10, 2), b.substr(12, 2) ], h.push(new Date(h.join("-"))), 
    h.push(new Date().getFullYear()), h[3].getFullYear() != h[0] || h[3].getMonth() + 1 != h[1] || h[3].getDate() != h[2]) return !1;
    if (h[4] - h[0] < 0 || h[4] - h[0] > 120) return !1;
    if (15 == a.length) return !0;
    for (f = 0; 17 > f; f++) e += b.substr(f, 1) * c[f];
    return d[e % 11] == b.substr(17, 1);
}
2017-12-15
2024-05-03 星期五 农历三月二十五