使用 jQuery 检查电子邮件地址数组
Check an array of email addresses with jQuery
我正在使用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");
}
}
});
根据需要将电子邮件服务添加到阵列中,并保留语法。
艾略特,谢谢你的解决方案。复制粘贴的代码不起作用(我不知道为什么,也许是因为没有声明 len,尽管我尝试过),所以我为像我这样不太了解 Javascript 的人修复了它......以下是适用于我的页面的代码:
$('#bemail').blur(function() {
var freeServices = ["yahoo.com","gmail.com","hotmail.com"];
for(var i = 0; i < freeServices.length; i++)
{
if ($(this).val().indexOf(freeServices[i]) != -1)
{
$(this).val("Business email is required");
}
}
});
相关文章:
- 使用正则表达式评估电子邮件地址时出现性能问题
- 根据部门用户的选择,接收来自多个电子邮件地址的Wordpress Contactform7查询
- 电子邮件地址验证但创建帐户,即使电子邮件地址无效
- 如何在实时网页中用mailto链接替换电子邮件地址
- 匹配Javascript中的几种不同的电子邮件地址格式
- 使用 Javascript 进行电子邮件地址验证在 ASP.net 中不起作用
- 使用不带正则表达式的jscript验证电子邮件地址
- ng变化不会'除非我输入了有效的电子邮件地址,否则我不会因为输入电子邮件而被解雇
- 使用JavaScript或JQuery验证电子邮件地址
- 如何防止电子邮件地址的css自动连字符
- 如何基于电子邮件地址域重定向到电子邮件登录页面
- 将多个电子邮件表单中的电子邮件发送到多个电子邮件地址
- 将回复电子邮件地址更改为队列's在动态crm 2011中的电子邮件地址
- 使用curl命令向sendgrid添加电子邮件地址
- 有没有办法检测电子邮件地址的假域名?使用Perl、php、javascript
- Regex用于有效和无效的电子邮件地址
- Regex Groups-选择电子邮件地址前的文本
- Angularjs, lexerr Lexer 错误:如何将电子邮件地址(regex)传递给函数
- 什么是最不坏的正则表达式来拒绝绝对无效的电子邮件地址
- 使用 jQuery 检查电子邮件地址数组