function checkidcard(strnumber)
//身份證號碼最後一位可能是超過100歲老年人的x.x也可以代表是阿拉伯數字10的意思
//所以排除掉最後一位數字進行數字格式測試,最後一位數字有最後一位數字的演算法
var ai;
if(strnumber.length==18)
else
//呼叫數字判斷函式isnumeric()
if(isnumeric(ai)==false)
var stryear,strmonth,strday,strbirthday;
stryear = parseint(ai.substr(6,4));
strmonth = parseint(ai.substr(10,2)) ;
strday = parseint(ai.substr(12,2));
//呼叫日期判斷函式isvaliddate()
if (isvaliddate(stryear,strmonth,strday)==false)
var arrverifycode = new array("1","0","x","9","8","7","6","5","4","3","2");
var wi = new array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
var k,totalmulaiwi=0;
for (k=0; k<17;k++)
//alert("身份證號碼最後一位的識別碼是:"+totalmulaiwi);
var modvalue =totalmulaiwi % 11 ;
var strverifycode = arrverifycode[modvalue];
ai = ai+strverifycode;
//alert("身份證號碼"+strnumber+"與正確的號碼"+ai+"一致!");
if((strnumber.length==18)&&(strnumber!=ai))
return true;
}//數字判斷函式isnumeric()
function isnumeric(onum)
catch(ex)
return true;
}//有效年份判斷函式isvalidyear()
function isvalidyear(psyear)
if(isnan(psyear)==true)
if(syear == "")
if(syear.match(/[^0-9]/g)!=null)
var nyear = parseint(syear,10);
if((nyear < 0) || (9999 < nyear))
return true;
}//有效月份判斷函式isvalidmonth()
function isvalidmonth(psmonth)
if(isnan(psmonth)==true)
if(smonth == "")
if(smonth.match(/[^0-9]/g)!=null)
var nmonth = parseint(smonth,10);
if((nmonth < 0) || (12 < nmonth))
return true;
}//有效日判斷函式isvalidday()
function isvalidday(psday)
if(isnan(psday)==true)
if(sday == "")
if(sday.match(/[^0-9]/g)!=null)
var nday = parseint(psday, 10);
if((nday < 0) || (31 < nday))
return true;
}//有效日期判斷函式isvaliddate()
function isvaliddate(psyear, psmonth, psday)
var syear = new string(psyear);
var smonth = new string(psmonth);
var sday = new string(psday);
if(isvalidyear(syear)==false)
if(isvalidmonth(smonth)==false)
if(isvalidday(sday)==false)
var nyear = parseint(syear, 10);
var nmonth = parseint(smonth, 10);
var nday = parseint(sday, 10);
if(syear=="" && smonth=="" && sday=="")
if(syear=="" || smonth=="" || sday=="")
if(nmonth < 1 || 12 < nmonth)
if(nday < 1 || 31 < nday)
if(nmonth == 2)
}else}}
else if((nmonth == 1) ||
(nmonth == 3) ||
(nmonth == 5) ||
(nmonth == 7) ||
(nmonth == 8) ||
(nmonth == 10) ||
(nmonth == 12))
}else
}return true;
}
python身份證號碼共18位 18位身份證校驗
數字 0 9 n位的數字 d 至少n位的數字 d m n位的數字 d 零和非零開頭的數字 0 1 9 0 9 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 帶1 2位小數的正數或負數 d d 正數 負數 和小數 d d 有兩位小數的正實數 0 9 0 9 有1 3位小數的正實數 0 9 0...
身份證號碼
每乙個人自出生後都會有乙個身份證號碼。根據我國有關部門規定,公民身份號碼是特徵組合碼,由十七位數字本體碼和一位數字校驗碼組成。排列順序從左至右依次為 六位數字位址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。居民身份證是國家法定的證明公民個人身份的有效證件。例如 對於身份證號碼330719...
JS校驗身份證號碼
function isidcardno num d 0 9 x test num 驗證前2位,城市符合 var acity if acity parseint num.substr 0,2 null alert 城市 acity parseint num.substr 0,2 下面分別分析出生日期和...