[英]Want to validate email address in JavaScript but can't figure out how to include only one @ in the character string
到目前为止,我有这个:
function validateForm() {
var str=document.forms["myForm"]["email"].value;
var atpos=str.indexOf("@");
var dotpos=str.lastIndexOf(".com");
if (atpos>0 || dotpos<atpos+2 || dotpos+2>=str.length)
{
alert("Incorrect e-mail address");
return false;
}
}
如何在字符串中包含一次显示的“ @”? (因此无法将电子邮件验证为@@)。
如果不是regex方法,我也将不胜感激。
如果您不想使用正则表达式,则可以按出现的方式拆分字符串。
var email = "foor@bar.com";
if((email.split('@').length != 2) {
// it's not an email address
}
else {
// it is an email address
}
一个不错的技巧是检查第一个@是否也是最后一个@。
if(str.indexOf('@') != -1 && str.indexOf('@') == str.lastIndexOf('@')){
// email is valid
}
检查这个伙伴
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;
}
}
验证电子邮件地址的最佳方法是通过正则表达式:
/^\w+([\-+\.']\w+)*@\w+([\-\.]\w+)*\.\w+([\-\.]\w+)*$/
如果您不知道正则表达式,我建议您立即学习它们,因为它们在处理和验证字符串内容时是一个非常强大且有用的功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.