偵測使用者所輸入的身分證字號是否正確
輸入身分證字號 :

將以下程式碼拷貝, 在您網頁原始檔<body> 與 </body> 之間 , 選個好地方貼上 。
<script language="JavaScript">
<!--
var local=new Array(34)
local[10]='A'
local[11]='B'
local[12]='C'
local[13]='D'
local[14]='E'
local[15]='F'
local[16]='G'
local[17]='H'
local[18]='J'
local[19]='K'
local[20]='L'
local[21]='M'
local[22]='N'
local[23]='P'
local[24]='Q'
local[25]='R'
local[26]='S'
local[27]='T'
local[28]='U'
local[29]='V'
local[32]='W'
local[30]='X'
local[31]='Y'
local[33]='Z'

function checkid(id){
id=id.toUpperCase()
if(lengtherr(id)){
alert('輸入的長度有誤!')
}else if(firstlettererr(id)){
alert('身分證第一碼應無此英文字母:'+id.substring(0,1))
}else if(numerr(id)){
alert('身分證後九碼應為數字!!')
}else if(checkerr(id)){
alert('身分證檢查碼有誤!')
}else{
alert('您輸入的身分證字號完全正確!')
}
}
function lengtherr(id){
if(id.length<10)
return 1
else 
return 0
}
function firstlettererr(id){ //第一碼字元正確性檢測
var fl=id.substring(0,1) //取得第一碼字元值給fl變數
var haserr=1 //建立錯誤發生旗標,預設是有錯誤
for(i=10;i<=33;i++){ //從第一碼的識別庫中找尋是否有該字母
if(local[i]!=fl) //如果沒有就往下一個找
continue
else{ 
//如果有的話就把錯誤碼設為0,表示沒有錯誤發生,因為第一碼已在識別庫中了
haserr=0
break
}
}
if(haserr==1) //如果錯誤發生旗標為1,表示第一個字元並未出現在識別庫中
return 1 //就回覆錯誤為true
else
return 0
}function numerr(id){
var haserr=0
for(i=1;i<=9;i++){
if(parseInt(id.substring(i,i+1))>0 || id.substring(i,i+1)=='0')
continue
else{
haserr=1
break}
}
if(haserr==1)
return 1
else
return 0
}
function checkerr(id){
var se=new Array(10)
var we=0
var checkcode=0
for(i=10;i<=33;i++){
if(local[i]==id.substring(0,1)){
se[0]=parseInt((i+'0').substring(0,1))
se[1]=parseInt((i+'0').substring(1,2))
break

}
for(i=1;i<=9;i++){
se[i+1]=parseInt(id.substring(i,i+1))
}
for(i=0;i<=10;i++){
if(i==0)
we=we+se[i]
else
we=we+(se[i]*(10-i))

checkcode=((10-mod(we,10))+'0').substring(0,1)
if(checkcode!=id.substring(9,10))
return 1
else
return 0

}
function mod(a,b){
var r
r=Math.round(a/b)
if((b*r)>a)
r-=1
return (a-(b*r))
}
// -->
</script>

<form name="f" onsubmit="checkid(document.f.id.value)">
<input type="text" size="15" maxlength="10" name="id">
<input type="button" name="bname" value="確定" onclick="checkid(document.f.id.value)">
</form>

請按 IE 瀏覽器的檢視原始碼查看。

網頁研習室 - 李文能