Js定期支票号码

电脑杂谈  发布时间:2020-04-26 23:22:41  来源:网络整理

正则判断号_js判断数字正则表达式_js正则判断号码

原始链接:

这实际上并不困难. 在Internet上找到更多信息将永远为您带来意想不到的收益. 但是,如果您想做好,就必须先磨锐武器. 我们需要了解ID号码的规则,并且彼此了解.

ID号的长度为15位和18位. 当它是15位数字时,它是一个数字,但是当它是18位数字时,它可能具有校验数字(X),因此不足以验证该数字.

此外,ID号可以告诉一个人的年龄,出生位置(ID卡在哪里?)等. 这些都是对我们有用的数据.

/ *

作者: yufulong

博客:

* /

var vcity = {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: “海外”

};

checkCard =函数()

{

var card = document.getElementById('card_no'). 值;

//它是空的吗?

如果(卡===``)

{

提示(“请输入ID号,ID号不能为空”);

document.getElementById('card_no'). 焦点;

返回假;

}

//检查长度,键入

如果(isCardNo(卡)===否)

{

提示(“您输入的ID号不正确,请重新输入”);

document.getElementById('card_no'). 焦点;

返回假;

}

//检查省份

js判断数字正则表达式_正则判断号_js正则判断号码

如果(checkProvince(卡)===否)

{

提示(“您输入的ID号不正确,请重新输入”);

document.getElementById('card_no'). 焦点;

返回假;

}

//检查生日

如果(checkBirthday(card)===否)

{

提醒(“您输入的ID号码的生日不正确,请重新输入”);

document.getElementById('card_no'). focus();

返回假;

}

//检测位

如果(checkParity(card)===否)

{

提示(“您的ID校验码不正确,请重新输入”);

document.getElementById('card_no'). focus();

返回假;

}

警报(“确定”);

返回true;

};

//检查数字是否符合规格,包括长度和类型

isCardNo =函数(卡)

{

//号码是15位或18位,当15位是全数字时,18位的前17位是数字,最后一位是校验位,可以是数字或字符X <

var reg = /(^ \ d {15} $)| (^ \ d {17}(\ d | X)$)/;

如果(reg.test(card)=== false)

{

警报(“演示”);

返回假;

}

返回true;

};

//取的前两位数字并验证省份

checkProvince =函数(卡)

{

var province = card.substr(0,2);

如果(vcity [省] ==未定义)

{

返回假;

}

返回true;

};

//检查生日是否正确

checkBirthday =函数(卡)

{

var len = card.length;

//当ID卡为15位数字时,顺序为省(3位数字),城市(3位数字),年(2位数字),月(2位数字),日(2位数字),校验位(3位)数字),都是数字<

如果(len =='15')

{

var re_fifteen = / ^(\ d {6})(\ d {2})(\ d {2})(\ d {2})(\ d {3})$ /;

var arr_data = card.match(re_fifteen);

var year = arr_data [2];

var month = arr_data [3];

var day = arr_data [4];

可变生日=新日期(“ 19” +年+“ /” +月+“ /” +天);

返回verifyBirthday('19'+年,月,日,生日);

}

//当ID卡为18位数字时,顺序为省(3位数字),城市(3位数字),年(4位数字),月(2位数字),日(2位数字),校验位(4位)位数)和校验位的末尾. 可能是X

如果(len =='18')

{

var re_eighteen = / ^(\ d {6})(\ d {4})(\ d {2})(\ d {2})(\ d {3})([0-9] | X)$ /;

var arr_data = card.match(re_eighteen);

var year = arr_data [2];

var month = arr_data [3];

var day = arr_data [4];

可变生日=新日期(年+'/'+月+'/'+天);

返回verifyBirthday(年,月,日,生日);

}

返回假;

};

//验证日期

verifyBirthday =函数(年,月,日,生日)

{

var now = new Date();

var now_year = now.getFullYear();

//年,月和日是否合理?

如果(birthday.getFullYear()==年&&(birthday.getMonth()+ 1)==月&& Birthday.getDate()==天)

{

//判断年份范围(3至100岁之间)

var time = now_year-year;

如果(时间> = 3 &&时间<= 100)

{

返回true;

}

返回假;

}

返回假;

};

//校验位校验

checkParity =函数(卡)

{

// 15位到18位

card = changeFivteenToEighteen(卡片);

var len = card.length;

如果(len =='18')

{

var arrInt =新数组(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8js正则判断号码,4,2);

var arrCh =新数组('1','0','X','9','8','7','6','5','4','3',' 2');

var cardTemp = 0,i,valnum;

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

{

cardTemp + = card.substr(i,1)* arrInt [i];

}

valnum = arrCh [cardTemp%11];

如果(valnum == card.substr(17js正则判断号码,1))

{

返回true;

}

返回假;

}

返回假;

};

// 15位至18位ID号

changeFivteenToEighteen =函数(卡)

{

如果(card.length =='15')

{

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','6','5','4','3',' 2');

var cardTemp = 0,i;

card = card.substr(0,6)+'19'+ card.substr(6,card.length-6);

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

{

cardTemp + = card.substr(i,1)* arrInt [i];

}

card + = arrCh [cardTemp%11];

归还卡;

}

归还卡;

};


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

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

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