考虑到在开始或结束时可能需要修剪,用于验证电子邮件地址的正则表达式

本文关键字:用于 修剪 验证 电子邮件地址 正则表达式 开始 结束 考虑到 | 更新日期: 2023-09-27 17:53:00

目前我有一个像这样的正则表达式验证器

<asp:RegularExpressionValidator EnableClientScript="true" 
    ValidationGroup="Email" class="errorMessages" ID="revEmail" runat="server" 
    ErrorMessage="Your email address does not appear to be of a valid form."
    ControlToValidate="txtEmail" 
    ValidationExpression="'w+([-+.']'w+)*@'w+([-.]'w+)*'.'w+([-.]'w+)*">
   * Email format is invalid.
</asp:RegularExpressionValidator>

对于"abc@yahoo.com"

这样的内容可以正常工作

然而,许多用户都是剪切和粘贴他们的电子邮件,所以有时可能是"abc@yahoo.com "" abc@yahoo.com" .

此时,它正确地使条目无效。

做一点谷歌搜索,似乎"'w+([-+.']'w+)*@'w+([-.]'w+)*'.'w+([-.]'w+)*"是验证电子邮件的标准方式。但是,谁能帮我修改正则表达式,以接受"abc@yahoo.com "这样的情况?

我不想在服务器端执行此验证。我有单独的服务器端验证,这将修剪电子邮件保存到数据库之前。

考虑到在开始或结束时可能需要修剪,用于验证电子邮件地址的正则表达式

您可以在regex中使用's来查找空格,使用*来匹配零或更多。因此,用's*...'s*包装表达式将接受表达式周围无限数量的空格。把它和你已经有的表达式放在一起就是:

's*'w+([-+.']'w+)*@'w+([-.]'w+)*'.'w+([-.]'w+)*'s*