如何使用JavaScript實現(xiàn)香港身份格式及真?zhèn)涡则炞C
導語:如何使用JavaScript實現(xiàn)香港身份格式及真?zhèn)涡则炞C呢?下面是小編給大家提供的代碼實現(xiàn),大家可以參考閱讀,更多詳情請關注應屆畢業(yè)生考試網。
function IsHKID(str) {
var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
/pic/p>
if (str.length < 8)
return false;
/pic/p>
if (str.charAt(str.length-3) == '(' && str.charAt(str.length-1) == ')')
str = str.substring(0, str.length - 3) + str.charAt(str.length -2);
/pic/p>
str = str.toUpperCase();
/pic/p>
var hkidPat = /^([A-Z]{1,2})([0-9]{6})([A0-9])$/;
var matchArray = str.match(hkidPat);
/pic/p>
if (matchArray == null)
return false;
/pic/p>
var charPart = matchArray[1];
var numPart = matchArray[2];
var checkDigit = matchArray[3];
/pic/p>
var checkSum = 0;
if (charPart.length == 2) {
checkSum += 9 * (10 + strValidChars.indexOf(charPart.charAt(0)));
checkSum += 8 * (10 + strValidChars.indexOf(charPart.charAt(1)));
} else {
checkSum += 9 * 36;
checkSum += 8 * (10 + strValidChars.indexOf(charPart));
}
/pic/p>
for (var i = 0, j = 7; i < numPart.length; i++, j--)
checkSum += j * numPart.charAt(i);
/pic/p>
var remaining = checkSum % 11;
var verify = remaining == 0 ? 0 : 11 - remaining;
return verify == checkDigit || (verify == 10 && checkDigit == 'A');
}
上面那段驗證的很精密,包含身份證真實性的校驗,如果只是想驗證輸入的香港身份證格式,請使用下面的這段js。
function IsHKID(str) {
var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
/pic/p>
if (str.length < 8)
return false;
/pic/p>
if (str.charAt(str.length-3) == '(' && str.charAt(str.length-1) == ')')
str = str.substring(0, str.length - 3) + str.charAt(str.length -2);
/pic/p>
str = str.toUpperCase();
/pic/p>
var hkidPat = /^([A-Z]{1,2})([0-9]{6})([A0-9])$/;
var matchArray = str.match(hkidPat);
/pic/p>
if (matchArray == null)
return false;
return true;
}
【如何使用JavaScript實現(xiàn)香港身份格式及真?zhèn)涡则炞C】相關文章:
如何使用JavaScript實現(xiàn)倒計時03-02
如何使用JavaScript實現(xiàn)頁面定時跳轉11-10
PHP中使用crypt()實現(xiàn)用戶身份驗證12-31
PHP中使用crypt()實現(xiàn)用戶身份驗證的實例08-17
如何使用javascript實現(xiàn)瀑布流及效果加載10-12
兩種實現(xiàn)表單驗證的javascript方法12-15
php如何實現(xiàn)驗證碼03-15