您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)javascript如何驗(yàn)證香港身份證的格式或真實(shí)性的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
看代碼
function IsHKID(str) { var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" // basic check length if (str.length < 8) return false; // handling bracket if (str.charAt(str.length-3) == '(' && str.charAt(str.length-1) == ')') str = str.substring(0, str.length - 3) + str.charAt(str.length -2); // convert to upper case str = str.toUpperCase(); // regular expression to check pattern and split var hkidPat = /^([A-Z]{1,2})([0-9]{6})([A0-9])$/; var matchArray = str.match(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 (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)); } // calculate the checksum for numeric part for (var i = 0, j = 7; i < numPart.length; i++, j--) checkSum += j * numPart.charAt(i); // verify the check digit var remaining = checkSum % 11; var verify = remaining == 0 ? 0 : 11 - remaining; return verify == checkDigit || (verify == 10 && checkDigit == 'A'); }
在網(wǎng)上找了很久都沒(méi)合意的驗(yàn)證方式,最后通過(guò)Google找到一個(gè)國(guó)外寫(xiě)的js驗(yàn)證,發(fā)現(xiàn)可以使用。
上面那段驗(yàn)證的很精密,包含身份證真實(shí)性的校驗(yàn),如果只是想驗(yàn)證輸入的香港身份證格式,請(qǐng)使用下面的這段js。
function IsHKID(str) { var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" // basic check length if (str.length < 8) return false; // handling bracket if (str.charAt(str.length-3) == '(' && str.charAt(str.length-1) == ')') str = str.substring(0, str.length - 3) + str.charAt(str.length -2); // convert to upper case str = str.toUpperCase(); // regular expression to check pattern and split var hkidPat = /^([A-Z]{1,2})([0-9]{6})([A0-9])$/; var matchArray = str.match(hkidPat); // not match, return false if (matchArray == null) return false; return true; }
感謝各位的閱讀!關(guān)于“javascript如何驗(yàn)證香港身份證的格式或真實(shí)性”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。