Regular identity card

Rules: http://www.360doc.com/content/11/0310/08/3080113_99760280.shtml

Verify: http://mid.weixingmap.com/

                code = ele.value var; 
                        var = Pass to true; 
                        var = {City. 11: "Beijing", 12: "Tianjin", 13: "Hebei", 14: "Journal of Shanxi", 15: "Inner Mongolia", 21: "Liaoning "22:" Jilin ", 23:" Heilongjiang ", 31:" Shanghai ", 32:" Jiangsu ", 33:" Zhejiang ", 34:" Anhui ", 35:" Fujian ", 36:" Jiangxi " 37: "Shandong", 41: "Henan", 42: "Hubei", 43: "Hunan", 44: "Guangdong", 45: "Guangxi", 46: "Hainan", 50: "Chongqing", 51: "Sichuan", 52: "Guizhou", 53: "Yunnan", 54: "Tibet", 61: "Shaanxi", 62: "Gansu", 63: "Qinghai", 64: "Ningxia", 65: "Xinjiang "71:" Taiwan ", 81:" Hong Kong ", 82:" Macao ", 91:" foreign "};
                        var pass = true;
                        if (!code || !(/^\d{6}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)||/^\d{6}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/i.test(code) ) ) {
                            pass = false;
                        } else if (!city[code.substr(0, 2)]) {
                            pass = false;
                        } else {
                            if (code.length == 18) {
                                code = code.split('');
                                var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
                                //校验位
                                var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];
                                var sum = 0;
                                var ai = 0;
                                var wi = 0;
                                for (var i = 0; i < 17; i++) {
                                    ai = code[i];
                                    wi = factor[i];
                                    sum += ai * wi;
                                }
                                var last = parity[sum % 11];
                                if (parity[sum % 11] != code[17]) {
                                    pass = false;
                                }
                            }
                        }

  

Guess you like

Origin www.cnblogs.com/little-ab/p/11584234.html