【发布时间】:2013-06-02 05:00:18
【问题描述】:
我正在尝试向视图中的一个表单添加电子邮件验证:
function validateForm(){
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Not a valid e-mail address");
return false;
}
}
但我可以写信 @,因为它是为 C# 表达式保留的。
【问题讨论】:
-
这与您的问题并没有真正的关系,但我建议您考虑使用正则表达式来验证电子邮件地址。
-
@Gunder 不,您不使用正则表达式验证电子邮件地址。
-
@CodeCaster 你不同意问题不在于使用正则表达式(作为一种技术),而是人们用来捕获所有无效电子邮件地址的正则表达式,这实际上不可行吗?通常使用正则表达式作为输入验证,甚至对于电子邮件地址都没有错,但是对于电子邮件地址,确实应该注意不要使用过于严格的正则表达式,因为您可能会得到误报并激怒用户.但是,我的观点是 OP 可以将他现有的验证逻辑重写为正则表达式。那会是一件坏事吗?
-
@CodeCaster 我完全同意你的看法。 - 我可能应该在我最初的评论中更清楚我的意思。我现在可以看到,我似乎建议 OP 寻找一个“正确”的电子邮件正则表达式,但这不是我的意图。
标签: javascript asp.net-mvc-4 razor view