【问题标题】:asp.net validation when field is not required不需要字段时的 asp.net 验证
【发布时间】:2023-03-31 08:37:01
【问题描述】:

我需要在用户输入电子邮件地址的文本框上设置验证...虽然这不是必填字段,所以如果文本框包含默认文本(“电子邮件地址")。

我已经发布了确保输入有效电子邮件地址的代码。

<asp:RegularExpressionValidator CssClass="errorpopup" Display="Dynamic" ID="regexpEmail"
    ValidationGroup="mySubmit" runat="server" ErrorMessage="<strong>Please enter a valid email address.</strong>"
    ControlToValidate="tbEmail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
    SetFocusOnError="true" />

【问题讨论】:

  • 你的问题/问题是?
  • 如果文本框中的值为空白或“电子邮件地址”,我需要修改验证器以允许提交表单。

标签: asp.net regex vb.net


【解决方案1】:

只需将整个正则表达式括在 (?:...)? 中即可使其可选。

但是您没有使用非常好的电子邮件验证正则表达式。除了无法通过正则表达式可靠地验证电子邮件地址这一事实之外,您还可以使用

^(?:[\w.%+-]+@(?:[\w-]+\.)+[A-Za-z]{2,6}\s*|Email address)?$

这仍然不会捕获所有有效地址,并且会匹配一些无效地址。但是缺少跨越大约四五行代码的 RFC 2822 实现正则表达式,这可能是一个很好的折衷方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 2018-03-29
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    相关资源
    最近更新 更多