如何使用jQuery验证器验证输入电子邮件列表?

时间:2015-02-20 08:59:07

标签: jquery jquery-validate

我有输入字段来输入电子邮件列表,例如test1@gmail.comtest2@gmail.com ,. 。 。 ,etc@gmail.com

我希望用逗号分隔这些电子邮件。我使用jQuery validator插件。 我怎么能这样做?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以通过模式匹配对其进行验证,如下面的代码

<input type="email" multiple pattern="^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},*[\W]*)+$" value="">
  <input type="submit" value="Go">

演示:http://jsfiddle.net/j1jzL8xd/

使用jQuery验证

<强> HTML:

<form id="form" method="post">
Enter email:<input type="text" name="emails" id="emails" class="emails"><br />
<input type="submit" value="submit">
</form>

<强> Jquery的:

jQuery.validator.addMethod(
    "multiemails",
     function(value, element) {
         if (this.optional(element)) // return true on optional element
             return true;
         var emails = value.split(/[,]+/); // split element by ,
         valid = true;
         for (var i in emails) {
             value = emails[i];
             valid = valid &&
                     jQuery.validator.methods.email.call(this, $.trim(value), element);
         }
         return valid;
     },

   jQuery.validator.messages.multiemails
);

$("#form").validate({
     rules: {
                emails: { required: true, multiemails: true }
            },
     messages: {
                    emails: {
                                required: "Email required",
                                multiemails: "finish typing email and dont end with comma"
                            }
               }

});

演示: http://jsfiddle.net/xFphm/242/