jquery.validatior.addMethod 电子邮件的 space 有效模式

jquery.validatior.addMethod valid pattern with a space for email

我需要在保存之前检查电子邮件文本。

我要填写多封邮件,并以";""分隔,格式如下:

而且我不能使用 type "email" 因为 Edge 不支持,所以我回到使用标准 "text" 输入.

$.validator.addMethod("pattern", function(value, element, param) {
 if (this.optional(element)) {
  return true;
 }
 if (typeof param === "string") {
  param = new RegExp(param);
 }
 return param.test(value);
    }, "Invalid format");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/jquery.validate.js"></script>
<div class="form-data-field">
         <label class="fld">email</label>
         <input class="content" type="text" name="email" data-formfield="Email" maxlength="150" 
         pattern="^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$|^NC$" />
        </div>

我在pattern的[;]后面加了\s*,效果很好

pattern="^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;]\s*(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$|^NC$"