【问题标题】:Saudi Iqama/National Identity number field validation沙特伊卡马/国民身份证号码字段验证
【发布时间】:2018-09-05 12:30:47
【问题描述】:

有人可以帮我确定沙特 iqama/国民身份证号的现场验证标准吗?

我知道对于国民,它应该以 1 开头,对于外国人,它应该以 2 开头,长度应该是 10。其他的。这是针对已经看到一些不良传入数据造成错误的应用程序,因此不要冒险。提前致谢。

【问题讨论】:

    标签: textfield


    【解决方案1】:

    对于 (Id Type='National Id')  length = 10 ,Id Number 必须在位置 1 以“1”开头。乘以奇数位置中的每个数字(位置 1、3、5..9 中的字符)乘以 2。如果乘法产生 2 位数字,则将这 2 位数字相加得到一个数字。将 ID 号的前 9 个字符相加(乘法后),得到一个 2 位数字 (XY)。如果 ID 号的第 10 位等于“零”,则前 9 个字符的总和中位置 2 (Y) 的数字减去 10,得到 2 位 (ZN),(N) 应等于身份证号码的第 10 位。否则,ID 号的第 10 位应等于前 9 个字符的总和中位置 2 (Y) 中的数字减去 10。

    【讨论】:

      【解决方案2】:
      Saudi ID Number – 1058529940  
      Position 1 2 3 4 5 6 7 8 9 10   
      ID Nbr   1 0 5 8 5 2 9 9 4 0   
      Multiply 2 0 1 8 1 2 9 9 8   
      Summate 40  
      

      验证位置 10(值 0)= 10 – 数字 2
      总和 (0) = 减法数字 2

      例如身份证号=1001244019

      Position 1 2 3 4 5 6 7 8 9 10  
      ID Nbr   1 0 0 1 2 4 4 0 1 9   
      Multiply 2 0 0 1 4 4 8 0 2   
      Summate 21   
      

      验证位置 10(值 9)= 10 – 数字 2
      总和 (1)

      【讨论】:

        【解决方案3】:

        尝试使用正则表达式进行验证。 ^[1|2]{1}[0-9]{9} 这对我有用

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-02-16
          • 2019-05-08
          • 1970-01-01
          • 2022-01-17
          • 1970-01-01
          • 2020-01-28
          • 2020-11-28
          相关资源
          最近更新 更多