js检查15位数/ 18位数的ID号(地区,生日,性别)

电脑杂谈  发布时间:2020-04-09 02:17:10  来源:网络整理

18位号性别_excel 18位号性别_18位号码性别

var aCity = {

11: “北京”18位号码性别,

12: “天津”,

13: “河北”,

14: “山西”,

15: “内蒙古”,

21: “辽宁”,

22: “吉林”,

23: “黑龙江”,

31: “上海”,

32: “江苏”,

33: “浙江”,

34: “安徽”,

35: “福建”,

36: “江西”,

37: “山东”,

41: “河南”,

42: “湖北”,

43: “湖南”,

44: “广东”,

18位号性别_excel 18位号性别_18位号码性别

45: “广西”,

46: “海南”,

50: “重庆”,

51: “四川”,

52: “贵州”,

53: “云南”,

54: “西藏”,

61: “陕西”,

62: “甘肃”,

63: “青海”,

64: “宁夏”,

65: “新疆”,

71: “台湾”,

81: “香港”,

82: “澳门”,

91: “海外”

}

/ **

*验证ID号(15位/ 18位)

* /

18位号性别_excel 18位号性别_18位号码性别

function isIdCardNo(num){

num = num.toUpperCase();

//号是15位数字或18位数字. 如果全部是15位,则18位中的前17位是数字,最后一位是校验位,可以是数字,也可以是字符X.

if(!(/(^ \ d {15} $)|(^ \ d {17}([0-9] | X)$)/. test(num))){

alert(“ ID号长度不正确,或不符合规定!! 15位数字应为全数字,而18位数字的最后一位可以为数字或X . ”)

返回假;

}

//分别分析出生日期和校验位

var len = num.length;

如果(len == 15){

re = new RegExp(/ ^(\ d {2})(\ d {4})(\ d {2})(\ d {2})(\ d {2})(\ d {3 })$ /);

var arrSplit = num.match(re);

if(aCity [parseInt(arrSplit [1])] ==空){

返回“ 15位ID卡的非法区域”;

}

//检查生日是否正确

var dtmBirth =新日期(“ 19” + arrSplit [3] +“ /” + arrSplit [4] +“ /” + arrSplit [5]);

var bGoodDay;

bGoodDay =(dtmBirth.getYear()==数字(arrSplit [3]))&&((dtmBirth.getMonth()+ 1)==数字(arrSplit [4]))&&(dtmBirth.getDate()= =数字(arrSplit [5]));

if(!bGoodDay){

18位号码性别_excel 18位号性别_18位号性别

警报(“非法使用15张的生日”);

返回假;

}

}

如果(len == 18){

re = new RegExp(/ ^(\ d {2})(\ d {4})(\ d {4})(\ d {2})(\ d {2})(\ d {3 })([0-9] | X)$ /);

var arrSplit = num.match(re);

if(aCity [parseInt(arrSplit [1])] ==空){

返回“ 18位ID卡的非法区域”;

}

//检查生日是否正确

var dtmBirth =新日期(arrSplit [3] +“ /” + arrSplit [4] +“ /” + arrSplit [5]);

var bGoodDay;

bGoodDay =(dtmBirth.getFullYear()==数字(arrSplit [3]))&&((dtmBirth.getMonth()+ 1)==数字(arrSplit [4]))&&(dtmBirth.getDate()= =数字(arrSplit [5]));

if(!bGoodDay){

提醒(“18岁生日是非法的”)

返回假;

}其他{

//验证18位ID卡的验证码正确.

//校验位是根据ISO 7064: 1983的规定生成的.MOD 11-2,X可以视为数字10.

var valnum;

var arrInt =新数组(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);

var arrCh =新数组('1','0','X','9','8','7'18位号码性别,'6','5','4','3',' 2');

var nTemp = 0,

i;

for(i = 0; i <17; i ++){

nTemp + = num.substr(i,1)* arrInt [i];

}

valnum = arrCh [nTemp%11];

if(valnum!= num.substr(17,1)){

警报(“ 18位ID卡的验证码不正确!最后一位应为: '+ valnum);

返回假;

}

}

}

返回true;

}

/ **

* 18个号以获取地区,出生日期,性别

* /

function cidInfo(sId){

返回城市[parseInt(sId.substr(0,2))] +“,” + sBirthday +“,” +(sId.substr(16,1)%2?“ Male”: “ Female”)<

}


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-168900-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 朱文健
        朱文健

        生产加工和运输流程啊

      • 曹立校
        曹立校

        教育质量大滑坡是顺理成章的事了

      热点图片
      拼命载入中...