首页 » ios付费应用 » 香港身份证号首位为一个字母,长度就是8位字母

香港身份证号首位为一个字母,长度就是8位字母

 

节点/小火箭/美区ID/国外苹果ID/美区小火箭购买/美区小火箭兑换码/shadowrocket兑换码/苹果商店下载shadowrocket网址

日前,项目中有一个输入框要求用户输入香港身份证号码,其中涉及验证输入的身份证号码。由于香港身份证号码的特殊性,我们也可以直接判断。效力。

废话不多说,直接上代码:

 IsHKID(value) {
    let pattern = new RegExp("^[a-zA-Z0-9-s()]+$");
    if(""==value){
      this.$scope.Rex = false;
      this.$scope.IsHKID = false;
      return;
    }
    if(!pattern.test(value)){
      this.$scope.Required = false;
      this.$scope.Rex= true;
      return;
    }else{
        this.Rex = false;
      
        let strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

香港汇丰银行地址英文 香港皇后大道中1号_手机储存卡格式为什么格式_香港手机号格式

if (value.length if (matchArray == null){ this.$scope.IsHKID = true; return; } let charPart = matchArray[1]; let numPart = matchArray[2]; let checkDigit = matchArray[3]; let checkSum = 0; if (charPart.length == 2) { checkSum += 9 * (1 + strValidChars.indexOf(charPart.charAt(0))); checkSum += 8 * (1 + strValidChars.indexOf(charPart.charAt(1))); } else { checkSum += 8 * (1 + strValidChars.indexOf(charPart)); } for (let i = 0, j = 7; i < numPart.length; i++ , j--) checkSum += j * numPart.charAt(i); let remaining = checkSum % 11; let verify = ''; if(remaining==0){

香港手机号格式_手机储存卡格式为什么格式_香港汇丰银行地址英文 香港皇后大道中1号

verify = 0; }else{ verify = 11 - remaining == 10 ? 'A' : 11 - remaining; } if (verify == checkDigit) { this.$scope.IsHKID = false; this.$scope.Required = false; } else { this.$scope.IsHKID = true; } } }

有些人看到可能会一头雾水,举个栗子:

香港身份证号码如下所示:(4)

香港身份证号码的组成如下:第一个字母为一个字母或两个字母+六个阿拉伯数字+(字母为A或0-9的阿拉伯数字之一);

其实上面的代码不用看那么久香港手机号格式,但是逻辑很简单:

香港身份证号码的第一个字母是一个字母,那么它的长度是8位;两个字母,长度为9位

将第一个字母转换为 A 到 Z、A 到 1、B 到 2 中的字母顺序,依此类推。如果括号中有 A,则转换为 10。接下来香港手机号格式,对所有数字应用权重,权重为:

4. 将数字与权重相加得到一个和

5. 取上面得到的和➗11得到余数

6. 从余数判断ID号是否有效

另一个栗子:

比如身份证号为 C123456(9),字母C在字母表的次序为3
计算如下:3*8+1*7+2*6+3*5+4*4+5*3+6*2+9*1=110
110 = 0
故括弧内的数字应该为0,所以这个身份证号时无效的

总结完毕!

越努力,越幸运!

节点/小火箭/美区ID/国外苹果ID/美区小火箭购买/美区小火箭兑换码/shadowrocket兑换码/苹果商店下载shadowrocket网址

原文链接:香港身份证号首位为一个字母,长度就是8位字母,转载请注明来源!

0