javascriptは香港の身分証のフォーマットまたは真実性を検証します。
話が多くないので、コードを見てください。
上記の検証は非常に精密で、身分証明書の真実性の検証を含めて、入力された香港の身分証のフォーマットを検証したいだけなら、次の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;
// 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');
}
インターネットで長い間気にならなかった検証方法を探しましたが、最後にGoogleを通じて海外で書かれたjsの検証ができます。上記の検証は非常に精密で、身分証明書の真実性の検証を含めて、入力された香港の身分証のフォーマットを検証したいだけなら、次の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;
}
以上が本文の全部です。本文の内容は皆さんの学習や仕事に一定の助けをもたらしてくれると同時に、私達を応援してください。