function isIdCardNo(str,str2,str3)
{
var num= document.getElementById(str).value;
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;
}
}
//以下取得生日和年齡
var s1=document.getElementById(str).value; //得到身份證號
var s2; //返回生日
var s3; //返回年齡
var birYear;
var yy, mm, dd;
if (s1.length == 15)
{
yy = s1.substr(6,2)
mm = s1.substr(8,2)
dd = s1.substr(10,2)
if (yy < 20)
{
yy = '20' + yy
}
else
{
yy = '19' + yy }
}
else if (s1.length == 18)
{
yy = s1.substr(6, 4)
mm = s1.substr(10, 2)
dd = s1.substr(12, 2)
}
else
{
return false
}
var myDate = new Date();
var nowYear=myDate.getFullYear();
s2=yy + '-' + mm + '-' + dd;
s3=parseInt(nowYear) -parseInt(yy);
if(s2.length==10)
{
document.getElementById(str2).value=s2;
document.getElementById(str3).value=s3;
}
return true ;
}
function GetBirthDay(txtID1, txtID2)
{
//如果身份證號碼正確,取出生日放到textbox中
if(isIdCardNo(txtID1))
{
var s1=document.getElementById(txtID1).value; //得到身份證號
var s2; //返回生日
var s3; //返回年齡
var birYear;
var myDate = new Date();
var nowYear=myDate.getFullYear;
var yy, mm, dd;
if (s1.length == 15)
{
yy = s.substr(6,2)
mm = s.substr(8,2)
dd = s.substr(10,2)
if (yy < 20)
{
yy = '20' + yy
}
else
{
yy = '19' + yy }
}
else if (s1.length == 18)
{
yy = s.substr(6, 4)
mm = s.substr(10, 2)
dd = s.substr(12, 2)
}
else
{
return false
}
s2=yy + '-' + mm + '-' + dd;
birYear=String(yy)+String(mm)+String(dd);
s3=myDate-birYear;
document.getElementById(txtID2).value;
return true ;
}
}