我有 ASP.NET 项目,我需要检查电子邮件是否正确。我一直在使用该脚本,但它在 asp.net 上失败了,因为 @
是错误的符号。
function emailvalidate(e)
{
var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/;
return b.test(e);
}
我该如何解决这个问题?通过 JavaScript 而不是 ASP.NET 或 C# 检查电子邮件很重要。
附言我是 ASP.NET 和 JavaScript RegEx 的新手。
您使用的是 Razor View 引擎吗?如果是这样,如果您要将此脚本添加到 cshtml 文件本身,则需要转义那些 @ 符号
function emailvalidate(e)
{
var b=/^[^@@\s]+@@[^@@\.\s]+(\.[^@@\.\s]+)+$/;
return b.test(e);
}
或者您可以像 deherch 提到的那样将正则表达式包装在 @Html.Raw 中:
var b = @Html.Raw(@"/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/");
您还可以将此函数与所有其他常用 JS 函数一起添加到脚本文件中。这样你根本不需要转义 Razor 语法。
Win 提到您要使用服务器端验证。我会说最好同时使用两者。客户端验证可以从一开始就阻止它访问服务器。以及服务器端验证,因为您永远无法相信客户端传入的内容。