比較完善的JavaScript身份證號(hào)碼驗(yàn)證函數(shù)
1 <script>
2 //自定義的身份證驗(yàn)證函數(shù)
3 function checkID(f) {
4 // 身份證驗(yàn)證 18 位數(shù)字
5 // 1. 18位
6 if(f.ID.value.length != 18) {
7 alert("請(qǐng)輸入中國公民的18位身份證號(hào)碼, 您當(dāng)前輸入了" + f.ID.value.length + "位號(hào)碼" );
8 f.ID.focus();
9 return false;
10 }
11 // 2. 確保前17位每一位都是數(shù)字
12 for(i = 0; i < f.ID.value.length - 1; i++) {
13 // 如何判斷一個(gè)字母是數(shù)字
14 if(isNaN( parseInt( f.ID.value.charAt(i) ) )) {
15 alert("您輸入的身份證號(hào)碼前17位包含有字母, 不合要求" );
16 f.ID.focus();
17 return false;
18 }
19 }
20
21 </script>
22
23 // 3. 確保最后一位是數(shù)字或者X
24 var lastIDNum = f.ID.value.charAt(17);
25 if( isNaN(parseInt( f.ID.value.charAt(i) )) && lastIDNum.toLowerCase() != 'x') {
26 alert("您輸入的身份證號(hào)碼最后一位不是數(shù)字也不是x, 不合要求" );
27 f.ID.focus();
28 return false;
29 }
30
31 return true;
32 }
2 //自定義的身份證驗(yàn)證函數(shù)
3 function checkID(f) {
4 // 身份證驗(yàn)證 18 位數(shù)字
5 // 1. 18位
6 if(f.ID.value.length != 18) {
7 alert("請(qǐng)輸入中國公民的18位身份證號(hào)碼, 您當(dāng)前輸入了" + f.ID.value.length + "位號(hào)碼" );
8 f.ID.focus();
9 return false;
10 }
11 // 2. 確保前17位每一位都是數(shù)字
12 for(i = 0; i < f.ID.value.length - 1; i++) {
13 // 如何判斷一個(gè)字母是數(shù)字
14 if(isNaN( parseInt( f.ID.value.charAt(i) ) )) {
15 alert("您輸入的身份證號(hào)碼前17位包含有字母, 不合要求" );
16 f.ID.focus();
17 return false;
18 }
19 }
20
21 </script>
22
23 // 3. 確保最后一位是數(shù)字或者X
24 var lastIDNum = f.ID.value.charAt(17);
25 if( isNaN(parseInt( f.ID.value.charAt(i) )) && lastIDNum.toLowerCase() != 'x') {
26 alert("您輸入的身份證號(hào)碼最后一位不是數(shù)字也不是x, 不合要求" );
27 f.ID.focus();
28 return false;
29 }
30
31 return true;
32 }
posted on 2009-03-26 15:45 YXY 閱讀(167) 評(píng)論(0) 編輯 收藏