糯米文學吧

位置:首頁 > 計算機 > java語言

如何使用JavaScript實現香港身份格式及真偽性驗證

java語言3.61K

導語:如何使用JavaScript實現香港身份格式及真偽性驗證呢?下面是小編給大家提供的代碼實現,大家可以參考閲讀,更多詳情請關注應屆畢業生考試網。

如何使用JavaScript實現香港身份格式及真偽性驗證

function IsHKID(str) {

var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

// basic check length

if (th < 8)

return false;

// handling bracket

if (At(th-3) == '(' && At(th-1) == ')')

str = tring(0, th - 3) + At(th -2);

// convert to upper case

str = perCase();

// regular expression to check pattern and split

var hkidPat = /^([A-Z]{1,2})([0-9]{6})([A0-9])$/;

var matchArray = h(hkidPat);

// not match, return false

if (matchArray == null)

return false;

// the character part, numeric part and check digit part

var charPart = matchArray[1];

var numPart = matchArray[2];

var checkDigit = matchArray[3];

// calculate the checksum for character part

var checkSum = 0;

if (th == 2) {

checkSum += 9 * (10 + xOf(At(0)));

checkSum += 8 * (10 + xOf(At(1)));

} else {

checkSum += 9 * 36;

checkSum += 8 * (10 + xOf(charPart));

}

// calculate the checksum for numeric part

for (var i = 0, j = 7; i < th; i++, j--)

checkSum += j * At(i);

// verify the check digit

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"

// basic check length

if (th < 8)

return false;

// handling bracket

if (At(th-3) == '(' && At(th-1) == ')')

str = tring(0, th - 3) + At(th -2);

// convert to upper case

str = perCase();

// regular expression to check pattern and split

var hkidPat = /^([A-Z]{1,2})([0-9]{6})([A0-9])$/;

var matchArray = h(hkidPat);

// not match, return false

if (matchArray == null)

return false;

return true;

}