0

我创建了一个注册表单,我在其中创建了电子邮件,并为所有提交的文件提供了验证,但我很困惑如何对电子邮件字段进行验证,因为我希望该电子邮件应该是 gmail.com 或 yahoomail.com 如果有的话一个人输入任何其他电子邮件,即使是 yahoomail.co.in,它也应该给出错误消息。这是代码 i 检查它是否具有 @ 和 . 在电子邮件中与否

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");

    }
4

1 回答 1

1

使用正则表达式可能是最好的方法。这是一个示例(现场演示):

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() 函数在“@”之后拆分邮件地址,并检查值与您的字符串。

var mail = yourMailAdress.split("@");
if (mail[1] == "gmail.com" || mail[1] == "yahoomail.com") {
    // OKAY
} else {
    // false
}
于 2013-06-06T07:21:00.247 回答