这是一个非常密集的问题,但我很累。
我需要一个可以在验证器控件中执行的正则表达式,它将捕获任何非字母数字字符。换句话说,如果字符串仅包含a-z,A-Z或0-9,则regexp需要匹配。
我知道如果字符串中存在非法字符,那么编写一个匹配的正则表达式会很容易 - 问题是我需要相反,因为它在验证器中。那是什么让我头疼。
解决方案赞赏。
答案 0 :(得分:5)
您的可接受字符集是[a-zA-Z0-9]
。您想验证与那些不匹配的任何内容,因此请使用^
来否定此字符类:
[^a-zA-Z0-9]+
此外,请确保使用RequiredFieldValidator和RegularExpressionValidator,因为后者不会捕获空白条目。 Per MSDN:
如果输入控件为空,则为no 验证函数被调用 验证成功。用一个 RequiredFieldValidator控件来 防止用户跳过 输入控制。
答案 1 :(得分:1)
使用:
^[a-zA-Z0-9]*$
答案 2 :(得分:0)
如果空字符串无效:
^[[:alnum:]]+$
答案 3 :(得分:0)
尝试
^[a-zA-Z0-9]*$