代码之家  ›  专栏  ›  技术社区  ›  Bob Tway

用于捕获非字母数字字符的正则表达式验证器

  •  1
  • Bob Tway  · 技术社区  · 14 年前

    这是个很难回答的问题,但我很累。

    我需要一个正则表达式,它可以在将捕获任何非字母数字字符的验证器控件中执行。换句话说,如果字符串只包含a-z、a-z或0-9,则regexp需要匹配。

    我知道很容易编写一个正则表达式,如果字符串中有一个非法字符,该表达式将匹配-问题是我需要 相反的 因为它在验证器里。这就是让我头痛的原因。

    感谢解决方案

    4 回复  |  直到 14 年前
        1
  •  5
  •   Ahmad Mageed    14 年前

    您可以接受的字符集是 [a-zA-Z0-9] . 你想验证任何不匹配的东西,所以使用 ^ 要否定此字符类:

    [^a-zA-Z0-9]+
    

    此外,请确保使用RequiredFieldValidator和RegularExpressionValidator,因为后者不会捕获空条目。 Per MSDN :

    调用验证函数并 验证成功。使用 需要FieldValidator控件 输入控制。

        2
  •  1
  •   Matthew Flaschen    14 年前

    使用:

    ^[a-zA-Z0-9]*$
    
        3
  •  0
  •   Michael Goldshteyn    14 年前

    如果空字符串无效:

    ^[[:alnum:]]+$
    
        4
  •  0
  •   thejh    14 年前

    ^[a-zA-Z0-9]*$