jquery.validatior.addMethod 电子邮件的 space 有效模式
jquery.validatior.addMethod valid pattern with a space for email
我需要在保存之前检查电子邮件文本。
我要填写多封邮件,并以";""分隔,格式如下:
- 没有space"nicola@gmail.com;linda@gmail.com"(我成功了)
- 和space"nicola@gmail.com; linda@gmail.com"
- 与多个 spaces "nicola@gmail.com; linda@gmail.com"
而且我不能使用 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$"
我需要在保存之前检查电子邮件文本。
我要填写多封邮件,并以";""分隔,格式如下:
- 没有space"nicola@gmail.com;linda@gmail.com"(我成功了)
- 和space"nicola@gmail.com; linda@gmail.com"
- 与多个 spaces "nicola@gmail.com; linda@gmail.com"
而且我不能使用 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$"