【问题标题】:Regular expression to validate Jordanian National Number验证约旦国民号码的正则表达式
【发布时间】:2015-10-11 06:40:36
【问题描述】:

我正在尝试编写一个验证约旦国民号码/身份的正则表达式。

身份由身份所有者信息连接而成 例如对于下面的身份98610589069是由;

  • 986 = 出生年份 (1986)
  • 1 = 性别。 (1 表示男性,2 表示女性)
  • 05 = 指出生城市。
  • 89096 = 指该城市当年出生总数的增量。

谁能帮忙?

【问题讨论】:

  • 这不是问题,只是我想分享我的知识。因为我花了一些时间来写这个正则表达式,并且我想拯救其他人,开发人员提供。
  • 如果是“自我回答的问题”,请确保将其拆分为正确的问题和正确的答案。就现在的帖子而言,这是一个没有任何问题的问题。

标签: javascript c# regex validation


【解决方案1】:

你可以试试这个

^[90][0-9]{2}[12][0-9]{2}[0-9]{5}$

它会做什么

[90][0-9]{2} - matches 000 to 999 (year 1900 to year 2099, assuming the date range)
[12] - matches 1 or 2 for gender
[0-9]{2} - matches 00 to 99 (assuming city code 00 - 99)
[0-9]{5} - 5 digit sequence number

这是regex101regexr 的工作演示。

所以,我在您的Regex 中看到的主要问题是
(1) 您的城市代码不匹配
(2) 您将最后一部分作为长度 = 6

【讨论】:

  • @YazanFahadHaddadein 它在regexr regexr.com/3bv8o 也有效(如预期)。测试时,请使用“98610589069”,不带空格。
【解决方案2】:

试试这个:^[0-9]{3}[12][0-9]{7}$

【讨论】:

    猜你喜欢
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多