av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語(yǔ)言

如何使用JavaScript實(shí)現(xiàn)香港身份格式及真?zhèn)涡则?yàn)證

時(shí)間:2025-05-20 21:34:21 java語(yǔ)言 我要投稿
  • 相關(guān)推薦

如何使用JavaScript實(shí)現(xiàn)香港身份格式及真?zhèn)涡则?yàn)證

  導(dǎo)語(yǔ):如何使用JavaScript實(shí)現(xiàn)香港身份格式及真?zhèn)涡则?yàn)證呢?下面是小編給大家提供的代碼實(shí)現(xiàn),大家可以參考閱讀,更多詳情請(qǐng)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)。

  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');

  }

  上面那段驗(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;

  }

【如何使用JavaScript實(shí)現(xiàn)香港身份格式及真?zhèn)涡则?yàn)證】相關(guān)文章:

如何使用JavaScript實(shí)現(xiàn)倒計(jì)時(shí)10-14

如何使用JavaScript實(shí)現(xiàn)頁(yè)面定時(shí)跳轉(zhuǎn)10-18

PHP中使用crypt()實(shí)現(xiàn)用戶(hù)身份驗(yàn)證06-15

如何使用javascript實(shí)現(xiàn)瀑布流及效果加載06-17

PHP中使用crypt()實(shí)現(xiàn)用戶(hù)身份驗(yàn)證的實(shí)例09-03

PHP如何通過(guò)會(huì)話(huà)控制實(shí)現(xiàn)身份驗(yàn)證10-05

兩種實(shí)現(xiàn)表單驗(yàn)證的javascript方法09-19

php如何實(shí)現(xiàn)驗(yàn)證碼06-13

JavaScript如何實(shí)現(xiàn)JSON.stringify09-19