//
--身份证号码验证-支持新的带x身份证
function isIdCardNo(num)
{
var factorArr = new Array( 7 , 9 , 10 , 5 , 8 , 4 , 2 , 1 , 6 , 3 , 7 , 9 , 10 , 5 , 8 , 4 , 2 , 1 );
var error;
var varArray = new Array();
var intValue;
var lngProduct = 0 ;
var intCheckDigit;
var intStrLen = num.length;
var idNumber = num;
// initialize
if ((intStrLen != 15 ) && (intStrLen != 18 )) {
// error = "输入身份证号码长度不对!";
// alert(error);
// frmAddUser.txtIDCard.focus();
return false ;
}
// check and set value
for (i = 0 ;i < intStrLen;i ++ ) {
varArray[i] = idNumber.charAt(i);
if ((varArray[i] < ' 0 ' || varArray[i] > ' 9 ' ) && (i != 17 )) {
// error = "错误的身份证号码!.";
// alert(error);
// frmAddUser.txtIDCard.focus();
return false ;
} else if (i < 17 ) {
varArray[i] = varArray[i] * factorArr[i];
}
}
if (intStrLen == 18 ) {
// check date
var date8 = idNumber.substring( 6 , 14 );
if (checkDate(date8) == false ) {
// error = "身份证中日期信息不正确!.";
// alert(error);
return false ;
}
// calculate the sum of the products
for (i = 0 ;i < 17 ;i ++ ) {
lngProduct = lngProduct + varArray[i];
}
// calculate the check digit
intCheckDigit = 12 - lngProduct % 11 ;
switch (intCheckDigit) {
case 10 :
intCheckDigit = ' X ' ;
break ;
case 11 :
intCheckDigit = 0 ;
break ;
case 12 :
intCheckDigit = 1 ;
break ;
}
// check last digit
if (varArray[ 17 ].toUpperCase() != intCheckDigit) {
// error = "身份证效验位错误!...正确为: " + intCheckDigit + ".";
// alert(error);
return false ;
}
}
else { // length is 15
// check date
var date6 = idNumber.substring( 6 , 12 );
if (checkDate(date6) == false ) {
// alert("身份证日期信息有误!.");
return false ;
}
}
// alert ("Correct.");
return true ;
}
function isIdCardNo(num)
{
var factorArr = new Array( 7 , 9 , 10 , 5 , 8 , 4 , 2 , 1 , 6 , 3 , 7 , 9 , 10 , 5 , 8 , 4 , 2 , 1 );
var error;
var varArray = new Array();
var intValue;
var lngProduct = 0 ;
var intCheckDigit;
var intStrLen = num.length;
var idNumber = num;
// initialize
if ((intStrLen != 15 ) && (intStrLen != 18 )) {
// error = "输入身份证号码长度不对!";
// alert(error);
// frmAddUser.txtIDCard.focus();
return false ;
}
// check and set value
for (i = 0 ;i < intStrLen;i ++ ) {
varArray[i] = idNumber.charAt(i);
if ((varArray[i] < ' 0 ' || varArray[i] > ' 9 ' ) && (i != 17 )) {
// error = "错误的身份证号码!.";
// alert(error);
// frmAddUser.txtIDCard.focus();
return false ;
} else if (i < 17 ) {
varArray[i] = varArray[i] * factorArr[i];
}
}
if (intStrLen == 18 ) {
// check date
var date8 = idNumber.substring( 6 , 14 );
if (checkDate(date8) == false ) {
// error = "身份证中日期信息不正确!.";
// alert(error);
return false ;
}
// calculate the sum of the products
for (i = 0 ;i < 17 ;i ++ ) {
lngProduct = lngProduct + varArray[i];
}
// calculate the check digit
intCheckDigit = 12 - lngProduct % 11 ;
switch (intCheckDigit) {
case 10 :
intCheckDigit = ' X ' ;
break ;
case 11 :
intCheckDigit = 0 ;
break ;
case 12 :
intCheckDigit = 1 ;
break ;
}
// check last digit
if (varArray[ 17 ].toUpperCase() != intCheckDigit) {
// error = "身份证效验位错误!...正确为: " + intCheckDigit + ".";
// alert(error);
return false ;
}
}
else { // length is 15
// check date
var date6 = idNumber.substring( 6 , 12 );
if (checkDate(date6) == false ) {
// alert("身份证日期信息有误!.");
return false ;
}
}
// alert ("Correct.");
return true ;
}