jquery验证,添加新规则以检查电子邮件主机

时间:2011-12-07 10:49:36

标签: jquery jquery-validate

我正在尝试创建一个规则,检查电子邮件主机是Hotmail,这样我就可以显示一条消息,要求检查他们的垃圾邮件文件夹(当人们使用Hotmail时,我的大多数邮件都会转到该文件夹​​)。

这是我到目前为止所做的:

       jQuery.validator.addMethod("isHotmail", function(value, element) {
           var email = $("#email").val();
           var emailHost = email.split('@')[1].split('.')[0];
           if(emailHost=='hotmail'){return true}
}, "* you are using Hotmail, please check your spam folder");

 rules: {
         email: {
           required:true, email: true, isHotmail : true
         }
.
.

这不起作用,如果我输入Hotmail电子邮件地址没有任何反应,我怀疑这是因为return语句。

任何人都可以帮我解决这条规则吗?

非常感谢

2 个答案:

答案 0 :(得分:1)

如果它不是Hotmail,也许你需要return false;

尝试更改行:if(emailHost=='hotmail'){return true}

要:

return (emailHost.toLowerCase()=="hotmail");

var emailvalue不一样?


   jQuery.validator.addMethod("isHotmail", function(value, element) {
       var email = value;
       var emailHost = email.split('@')[1].split('.')[0];
       return (emailHost.toLowerCase()=='hotmail');
   }, "* you are using Hotmail, please check your spam folder");

答案 1 :(得分:0)

当输入包含“hotmail”时,您需要返回false。而不是

if(emailHost=='hotmail'){return true}

使用

if(emailHost=='hotmail')
{
return false;
}
return true; //for when the input does not contain hotmail

jsfiddle here

上查看此操作