代码之家  ›  专栏  ›  技术社区  ›  kez Sirwan Afifi

正则表达式检查前缀的9个长度字符

  •  0
  • kez Sirwan Afifi  · 技术社区  · 8 年前

    我想创建一个正则表达式来

    1. 前2个字符0到9
    2. 接下来3个字符000到366,然后501到866
    3. 接下来的4个字符0到9
    4. 最后 x 或X

    所以我用下面的方法做到了

    ([0-9]{2}(001|002|003|004|005|006|007... |366|501|...|866)[0-9]{4}[x|X]$)
    

    这样可以正确验证 900033618x

    但这也需要 9001033618x

    如何将x或x之前的长度限制为9个字符

    我试过这样做,就像下面这样

    (^\d[[0-9]{2}(001|002|003|004|005|006|007... |366|501|...|866)[0-9]{4}]{9}[x|X]$)
    

    但这不起作用

    1 回复  |  直到 8 年前
        1
  •  1
  •   revo shanwije    8 年前

    照你说的做:

    ^[0-9]{2}(?:[01][0-9][0-9]|[24]00|3(?:6[6-9]|[7-9][0-9]))[0-9]{4}[xX]$
    

    注意:手表开始插入符号 ^