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

How to validate input email list using jQuery validator?

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

我想用逗号分隔这些电子邮件。我使用 jQuery validator 插件。 我该怎么做?

谢谢。

您可以通过模式匹配验证它,如下代码

<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/