js验证IDID号的有效性并提示相应的信息。

js验证IDID号的有效性并提示相应的信息。
直接在代码上,一行一行地学习代码,它会得到回报的。
函数数(allowancepersonvalue){
如果(allowancepersonvalue = =身份证号码){
$(# span_username )显示();
$(# span_username)。Html(身份证号码不能为空);
返回false;
}
检查长度、类型
如果(iscardno(allowancepersonvalue)= false)
{
$(# span_username )显示();
$(# span_username)。Html(您输入的号码不正确,请重新输入);
返回false;
}
检查省份
如果(checkprovince(allowancepersonvalue)= false)
{
$(# span_username )显示();
$(# span_username)。Html(您输入的号码不正确,请重新输入);
返回false;
}
检查/生日
如果(checkbirthday(allowancepersonvalue)= false)
{
$(# span_username )显示();
$(# span_username)。Html(您输入的号码不正确,请重新输入);
返回false;
}
检查位置
如果(checkparity(allowancepersonvalue)= false)
{
$(# span_username )显示();
$(# span_username)。Html(你的身份证不正确,请重新输入)
返回false;
其他{ }
$(# span_username )藏();
返回true;
}

}

,编码
无功vcity = { 11:北京
21:辽宁
33:浙江
42:湖北
51:四川
63:青海
};

检查编号是否符合规范,包括长度、类型
功能iscardno(卡){
id号是15或18,当所有15个数字,18个前17个数字,最后一个是奇偶校验位时,可以是数字或字符x。
var =注册/(^ D { 15 } $)|(^ D { 17 }( D | x)/美元);
如果(reg.test(卡)= false){
警告(演示);
返回false;
}
返回true;
}

在这两个省之前,请检查
功能checkprovince(卡){
瓦尔河省card.substr(0,2)=;
如果(vcity {省} = = undefined){
返回false;
}
返回true;
}

检查是否正确的生日。
功能checkbirthday(卡){
VaR len = card.length;
15,订单,(3),(3)年(2个月)(2),(2)奇偶校验位(3位),全数字
如果(len = = 15){
var = re_fifteen / ^( D { 6 })( D { 2 })( D { 2 })( D { 2 })( / D { 3 });
无功arr_data = card.match(re_fifteen);
VaR年= arr_data { 2 };
VaR月= arr_data { 3 };
var = arr_data { 4 };
VaR的生日=新的日期('19'+年+/+月+/+天);
返回verifybirthday('19'+年,月,日,生日);
}
18,顺序,(3),(3)年(4个月)(2),(2)在5月底的奇偶校验位(4),奇偶校验位为x。
如果(len = ='18){
var = re_eighteen / ^( D { 6 })( D { 4 })( D { 2 })( D { 2 })( D { 3 }({ })0-9 | x)/;
无功arr_data = card.match(re_eighteen);
VaR年= arr_data { 2 };
VaR月= arr_data { 3 };
var = arr_data { 4 };
var生日=新日期(年+月+日);
收益(年,月,日verifybirthday,生日);
}
返回false;
}

检查日期
功能verifybirthday(年,月,日,生日){
var现在=新日期();
无功now_year = now.getfullyear();
日期是合理的
如果(生日。返回完整年份)=年((生日。获得当前的月份)+(1)=月(生日。getdate)=天)
{
判断年份范围(介于3至100岁之间)
VAR时间= now_year年;
如果(时间> = 3时间< = 100)
{
返回true;
}
返回false;
}
返回false;
}

奇偶校验位检测
功能checkparity(卡){
15位旋转18位
卡= changefivteentoeighteen(卡);
VaR len = card.length;
如果(len = ='18){
无功arrint =新的数组(7, 9, 10,5, 8, 4,2, 1, 6,3, 7, 9,10, 10, 5。
无功arrch =新的阵列(1,0,'x',9、8、7',6,年、年);
无功cardtemp = 0,我valnum;
对于(i = 0;i < 17;i +)
{
cardtemp = card.substr(I,1)* arrint {我};
}
valnum = arrch { 11 } cardtemp %;
如果(valnum = = card.substr(17, 1))
{
返回true;
}
返回false;
}
返回false;
}

15位到18位ID号
功能changefivteentoeighteen(卡){
如果(card.length = 15)
{
无功arrint =新的数组(7, 9, 10,5, 8, 4,2, 1, 6,3, 7, 9,10, 10, 5。
无功arrch =新的阵列(1,0,'x',9、8、7',6,年、年);
无功cardtemp = 0,我;
card.substr卡=(0, 6)+ '19 + card.substr(6,card.length - 6);
对于(i = 0;i < 17;i +)
{
cardtemp = card.substr(I,1)* arrint {我};
}
卡= arrch { 11 } cardtemp %;
退卡;
}
退卡;
}
使用方法uff1a
我希望这篇文章能帮助你学习Javascript程序设计。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部