<script>
/*這是在驗證第一碼是不是大寫的英文*/
function firstlettererr(id){
var fl=id.value.substr(0,1);
var T="ABCDEFGHJKLMNPQRSTUVWXYZ";
var smp=id.value.substr(0,1)
if (T.indexOf(smp) == -1){
return false; }else{
return true;
}
}
/*驗證是否有十位數*/
function checkid(id){
if(id.value.length==10){
return true; }else{
return false;}
}
/*驗證第一碼不為數字或是小寫或中文*/
function chfastid(id) {
var c = id.value.charAt(0);
if(c<"A" || c> "Z"){
return false;}else{
return true; }
}
/*確保第二碼一定是1 0r 2(因為身分証第二碼一定是1 0r 2)*/
function ch12fastid(id) {
var c = id.value.charAt(1);
if(c!="1" && c!="2"){
return false;}else{
return true; }
}
/*驗證後九碼為數字*/
function idmanber(id){
var bmp;
var d="0123456789";
var bab=id.value.length-1;
for (var i=1;i<=bab;i++){
bmp=id.value.substr(i,1)
if (d.indexOf(bmp) == -1) {
return false;
}
}
if(id.value != "0"){
return true; }else{
return false;
}
}
function idchackok(id) {
var alph = new Array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","X","Y","W","Z","I","O");
var num = new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35");
var n=0;
for(i=0;i<alph.length;i++)
if(id.value.charAt(0)==alph[i])
n=i;
var tot1 = parseFloat(num[n].charAt(0)) + (parseFloat(num[n].charAt(1)) * 9);
var tot2 = 0;
for(i=1;i<id.value.length-1;i++)
tot2 = tot2 + parseFloat(id.value.charAt(i))*(9-i);
var tot3 = parseFloat(id.value.charAt(9));
var tot4 = tot1 + tot2 + tot3;
if((tot4 % 10)!=0)
{ return false; } else { return true; }
}
function idChech(id){
if(checkid(id) == false){
alert("您的身份證字號位數不對!!");
return false;
}else if(chfastid(id) == false){
alert("您的身分證字號第一碼必須是大寫的英文字母 !");
return false;
}else if(ch12fastid(id) == false){
alert("您的身分證字號第二碼有問題 !");
return false;
}else if(firstlettererr(id) == false){
alert("您的身份證字號錯誤!!");
return false;
}else if(idmanber(id) == false){
alert("您的身份證字號後9碼應為數字!!");
return false;
}else if(idchackok(id) == false){
alert("您的身分證字號有問題 !");
return false;
}else{document.getElementById('form2').submit();}
}
function submitall(){
var id=document.getElementById('number');
firstlettererr(id);
checkid(id);
chfastid(id);
ch12fastid(id);
idmanber(id);
idchackok(id);
idChech(id);
}
</script>
<div id="login">
<div id="inlogin1" align="center">請先登入</div>
<div id="inlogin2" align="center">(第一次登入者,直接填寫即可註冊。)</div>
<div id="inlogin3" align="center">
<form action="" method="get" id="form2" name="form2">
<div align="right">中文姓名:</div>
<div><input type="text" name="name" style="width:100px" id="name"></div>
<div align="right">身分證字號:</div>
<div><input type="text" name="number" id="number" style="width:100px"></div>
<div id="submitinlogin"><input type="button" value="送出" onclick="submitall()"></div>
</form>
</div>
</div>
- Feb 26 Fri 2010 10:03
-
javascript的身份證驗證
請先 登入 以發表留言。