【问题标题】:Checking for alphanumeric values with asp:RegularExpressionValidator alwas shows ErrorMessage使用 asp:RegularExpressionValidator 检查字母数字值始终显示错误消息
【发布时间】: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

标签: c# asp.net regex


【解决方案1】:

您的正则表达式匹配不在 a-z、A-Z、0-9 中的单个字符,这听起来不像您想要的。

我想你想要:

ValidationExpression="[A-Za-z0-9]+"

是a-z, A-Z, 0-9中的一个或多个字符

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 2021-05-26
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多