我创建了一个注册表单,我已经创建并发送电子邮件,我已经为所有提交的文件提供了验证,但我很困惑如何对电子邮件字段进行验证,因为我希望该电子邮件应该是gmail.com或yahoomail。如果有人进入任何其他电子邮件甚至yahoomail.co.in它应该给出错误消息。 这是代码我检查它有@和。是否在电子邮件中
var atdrate=email.indexOf("@");
var dot1=email.indexOf(".");
else if(atdrate<1 || dot1<1)
{
alert("Enter valid Email");
if(gml<atdrate+1)
alert("Enter a vaild mail id");
else if(yml<atdrate+1)
alert("Enter a valid email id");
}
答案 0 :(得分:1)
使用正则表达式可能是最好的方法。这是一个例子(live demo):
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\
".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA
-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
但请记住,不应该只依赖JavaScript验证。可以轻松禁用JavaScript。这也应该在服务器端验证。
*来自https://stackoverflow.com/a/46181/1521984
的回答更新然后使用JavaScript split() function拆分“@”后的邮件地址,并检查值与字符串的对比。
var mail = yourMailAdress.split("@");
if (mail[1] == "gmail.com" || mail[1] == "yahoomail.com") {
// OKAY
} else {
// false
}