【发布时间】:2015-10-02 11:15:15
【问题描述】:
我希望用户只输入数字和字母。我使用asp:RegularExpressionValidator 和以下ValidationExpression:[^A-Za-z0-9]
这是我的完全控制:
<asp:RegularExpressionValidator ID="regexValidatorUserName" runat="server" ErrorMessage="Check your input!" ControlToValidate="tb_userName" ValidationExpression="[^A-Za-z0-9]"></asp:RegularExpressionValidator>
当我在我的文本框中插入一些东西时,总是会显示 ErrorMessage。 我该如何解决这个问题,或者我是否需要为 ValidationExpression 提供另一个标记?
【问题讨论】:
-
试试
^[A-Za-z0-9]*$。 -
*$是什么意思? -
*是一个量词,匹配 0 个或多个满足前面子模式的符号,$是字符串的结尾。我认为在你的情况下(因为属性是锚定的)你可以使用[A-Za-z0-9]*。但如果您想要求至少 1 个字符,则需要使用+量词,就像在接受的答案中一样。 -
[A-Za-z0-9]+也将接受RegularExpressionValidator中的零个字符,在这种情况下,您还需要一个RequiredFieldValidator