javascript - 使用 jQuery 检查电子邮件地址数组

标签 javascript jquery arrays indexof

我正在使用 jQuery,并且想检查电子邮件地址是否托管在免费电子邮件服务域(即 Yahoo、gmail、hotmail 等)。

下面的代码可以做到这一点,但不幸的是,我不知道足够的语法来将域名放入数组中,现在我可以检查(无需额外的 if 语句)电子邮件在本例中是否仅由雅虎托管。

是否有类似 if ($(this).val().indexOf("yahoo.com && gmail.com && hotmail.com && ... ") != -1)

这是脚本:

<script type="text/javascript">
$(document).ready(function(){
    $('#bemail').click(
        function(e){
            e.preventDefault;
            if ($(this).val().indexOf("Business email is required") != -1) {
            $('#bemail').val("");
            }
    });

    $('#bemail').blur(function() {
        if ($(this).val().indexOf("yahoo.com") != -1)
        {
            $(this).val("Business email is required");
        }

    });

});
</script>

谢谢。

最佳答案

您可以创建一系列电子邮件服务,然后检查您的值以查看它是否等于您列出的任何电子邮件。您可以通过使用 for 循环将数组中的每个值与输入值进行比较来完成此操作。你会做这样的事情:

var freeServices = ["yahoo.com", "gmail.com"];

$('#bemail').blur(function() {
    for(var i = 0; len = freeServices.length; i<len; i++) {
        if ($(this).val().indexOf(freeServices[i]) != -1) {
            $(this).val("Business email is required");
        }
    }
});

根据需要将电子邮件服务添加到数组,保留语法。

关于javascript - 使用 jQuery 检查电子邮件地址数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10556672/

相关文章:

javascript:变量名之间花括号的含义

javascript - Chrome 上不一致/延迟的 HTML5 桌面推送通知

javascript - JQuery 数据表标题下方的附加滚动条

arrays - 批量嵌套变量

代码似乎是正确的,但程序在打印数组的第一行后挂起

javascript - 创建小时数组 : 00:00, 01 :00, 02:00

javascript - 如何使用 jquery cropit 插件检查图像大小?

javascript - MVC 4 - 在哪里加载 JS 脚本

javascript - chrome.runtime.sendMessage 在 Chrome 扩展程序中不起作用

jquery - css/jquery - 如果不是,如何隐藏最后一行 float 元素