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

Bob*_*way 1 .net regex

这是一个非常密集的问题,但我很累.

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

我知道如果字符串中存在非法字符,那么编写一个匹配的正则表达式会非常容易 - 问题是我需要相反,因为它在验证器中.那是什么让我头疼.

解决方案赞赏

Ahm*_*eed 5

你的可接受角色是[a-zA-Z0-9].您想验证与那些不匹配的任何内容,因此使用a ^来否定此字符类:

[^a-zA-Z0-9]+
Run Code Online (Sandbox Code Playgroud)

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

如果输入控件为空,则不会调用验证函数并且验证成功.使用RequiredFieldValidator控件来阻止用户跳过输入控件.