Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 护照正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 护照正则表达式

Javascript 护照正则表达式,javascript,regex,Javascript,Regex,我正在尝试对passport number执行正则表达式验证 长度:5-20个字符的字母数字 允许的字符:a-z,a-z,0-9(不区分大小写) 不能仅包含1个数字或字符,重复 示例:(我期望看到的) Z1234aZ-假/“Z”重复 aVBNa1-错误//“a”重复 ZXCVB123-正确 12zv-假//长度4 我的正则表达式:/^(..{2,}[A-Za-z0-9]{5,20}$/,但它不起作用 如何匹配所有符号都不重复的情况?我想也许您可以使用: ^(?:([A-Z\d])(?!.*

我正在尝试对passport number执行正则表达式验证

  • 长度:5-20个字符的字母数字

  • 允许的字符:a-z,a-z,0-9(不区分大小写)

  • 不能仅包含1个数字或字符,重复

  • 示例:(我期望看到的)

    Z1234aZ-假/“Z”重复

    aVBNa1-错误//“a”重复

    ZXCVB123-正确

    12zv-假//长度4

    我的正则表达式:/^(..{2,}[A-Za-z0-9]{5,20}$/,但它不起作用


    如何匹配所有符号都不重复的情况?

    我想也许您可以使用:

    ^(?:([A-Z\d])(?!.*\1)){5,20}$
    
    请看一篇在线文章。使用不区分大小写的匹配意味着:

    • ^
      -起锚线
    • (?:
      -打开非捕获组:
      • ([A-Z\d])
        -从类中捕获单个字符
      • (?!.*\1)
        -使用对第一个捕获组的反向引用来防止再次出现匹配的字符
      • ){5,20}
        -关闭非捕获组并匹配5-20次
    • $
      -端线锚

    不确定我是否读对了,但如果您需要至少两个数字和至少到alpha字符,则可能会添加两个正lookahead:

    ^(?=.*\d.*\d)(?=.*[A-Z].*[A-Z])(?:([A-Z\d])(?!.*\1)){5,20}$
    

    我在想也许你可以用:

    ^(?:([A-Z\d])(?!.*\1)){5,20}$
    
    请看一篇在线文章。使用不区分大小写的匹配意味着:

    • ^
      -起锚线
    • (?:
      -打开非捕获组:
      • ([A-Z\d])
        -从类中捕获单个字符
      • (?!.*\1)
        -使用对第一个捕获组的反向引用来防止再次出现匹配的字符
      • ){5,20}
        -关闭非捕获组并匹配5-20次
    • $
      -端线锚

    不确定我是否读对了,但如果您需要至少两个数字和至少到alpha字符,则可能会添加两个正lookahead:

    ^(?=.*\d.*\d)(?=.*[A-Z].*[A-Z])(?:([A-Z\d])(?!.*\1)){5,20}$
    
    你可以试试这个

    ^(?!^0+$)[a-zA-Z0-9]{3,20}$

    ^[A-PR-WYa-PR-wy][1-9]\d\s?\d{4}[1-9]$

    你可以试试这个

    ^(?!^0+$)[a-zA-Z0-9]{3,20}$

    ^[A-PR-WYa-PR-wy][1-9]\d\s?\d{4}[1-9]$