b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

18位验证-Java实现,正则表达式

电脑杂谈  发布时间:2020-06-14 10:12:21  来源:网络整理

android+验证号码_jquery验证号_android号验证

简单的正则表达式:

(1)preg_match(“ / ^(\ d {18,18} | \ d {15,15} | \ d {17,17} x)$ /”,$ id_card)

(2)preg_match(“ / ^(\ d {6})(18 | 19 | 20)?(\ d {2})([01] \ d)([0123] \ d)(\ d {3})(\ d | X)?$ /“,$ id_card)

(3)preg_match(“ /(^ \ d {15} $ /)|(\ d {17}(?: \ d | x | X)$ /),$ id_card)

2. 复杂而严格的验证:

//这可以验证15位和18位ID卡,包括生日和校验位的验证.

///如果您有兴趣,还可以添加对位置的验证,即前6位数字中的某些数字是合法的,而某些数字是非法的.

函数isIdCardNo(num)

{

num = num.toUpperCase();

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

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

{

alert('输入的ID号码长度不正确,或不符合规定!\ n15位数字应为全数字,而18位数字的最后一位可以为数字或X. ');

返回假;

}

//根据ISO 7064: 1983生成校验位. MOD11-2,X可以视为数字10.

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

var len,re;

len =数字长度;

如果(len == 15)

android号验证_jquery验证号_android+验证号码

{

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

var arrSplit = num.match(re);

//检查生日日期是否正确

var dtmBirth = new Date('19'+ arrSplit [2] +'/'+ arrSplit [3] +'/'+ arrSplit [4]);

var bGoodDay;

bGoodDay =(dtmBirth.getYear()== Number(arrSplit [2]))&&((dtmBirth.getMonth()+ 1)== Number(arrSplit [3]))&&(dtmBirth.getDate()= = Number(arrSplit [4]));

如果(!bGoodDay)

{

alert(“输入的号中的生日不正确!”)

返回假;

}

其他

{

///将15位ID卡转换为18位

//根据ISO 7064: 1983生成校验位. MOD11-2,X可以视为数字10.

var arrInt = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);

var arrCh = new Array('1','0','X','9','8','7','6','5','4','3',' 2');

var nTemp = 0,i;

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

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

android+验证号码_jquery验证号_android号验证

{

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

}

num + = arrCh [nTemp%11];

返回数字;

}

}

如果(len == 18)

{

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

var arrSplit = num.match(re);

//检查生日日期是否正确

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

var bGoodDay;

bGoodDay =(dtmBirth.getFullYear()== Number(arrSplit [2]))&&((dtmBirth.getMonth()+ 1)== Number(arrSplit [3]))&&(dtmBirth.getDate()= = Number(arrSplit [4]));

如果(!bGoodDay)

{

alert(dtmBirth.getYear());

alert(arrSplit [2]);

alert(“输入的号中的生日不正确!”)

返回假;

android号验证_jquery验证号_android+验证号码

}

其他

{

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

//根据ISO 7064: 1983生成校验位. MOD11-2,X可以视为数字10.

var valnum;

var arrInt = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4android+验证号码,2);

var arrCh = new Array('1','0','X','9','8','7','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))

{

alert('18位ID卡的验证码不正确!它应该是: '+ valnum);

返回假;

}

返回数字;

}

jquery验证号_android+验证号码_android号验证

}

返回假;

}

3. 严格验证:


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