【问题标题】:RegularExpressionValidator asp.net正则表达式验证器 asp.net
【发布时间】:2014-04-14 14:07:23
【问题描述】:

我试图确保用户只能输入 a-z0-9 字符。 为此,我使用了 RegularExpressionValidator 类:

<asp:TextBox ID="input" Text="search" runat="server" OnTextChanged="searchFunc"></asp:TextBox>
<asp:RegularExpressionValidator ID="regExp" runat="server"      
                                    ErrorMessage="only a-z or 0-9 allowed" 
                                    ControlToValidate="input"         
                                    ValidationExpression="^[a-z0-9]+$" />

虽然在后面的代码中我试图检查用户是否通过使用输入有效输入

regExp.IsValid

但是即使用户输入!&amp;%(),这个方法也会返回True 我无法理解我做错了什么。是我的正则表达式错误吗?

【问题讨论】:

标签: asp.net regex validation reg-expressionvalidator


【解决方案1】:

仅在执行验证后调用 regExp.IsValid,否则默认值设置为 true。

在检查 IsValid 属性之前尝试调用 regExp.Validate()。

【讨论】: