用于电子邮件的 jQuery 验证插件
规则(默认:从标记(类、属性、数据)中读取规则)
定义自定义规则的键/值对。 Key 是元素的名称(或一组复选框/单选按钮),value 是由规则/参数对或纯字符串组成的对象。可以与类/属性/数据规则结合使用。
可以将每个规则指定为具有 depends-property 以仅在某些条件下应用该规则。有关详细信息,请参见下面的第二个示例。
示例:根据需要指定 name 元素和根据需要指定 email 元素(使用单个规则的快捷方式)和 有效的电子邮件地址(使用另一个对象文字)。
$(".selector").validate({
rules: {
// simple rule, converted to {required:true}
name: "required",
// compound rule
email: {
required: true,
email: true
}
}
});
以上是理论。
我们想找出使用这个标签的确切含义。所以,让我们看一下插件的文件core.js,它定义了我们要学习的regex。这个问题的答案是插件使用的regex。
在此处检查此正则表达式:http://regexr.com/39j49
// http://jqueryvalidation.org/email-method/
email: function( value, element ) {
...
return this.optional( element ) || /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test( value );
},
此外,您通常可以按照此doc 添加自定义规则。类似的东西:
jQuery.validator.addMethod("myemailrule", function(value, element) {
return this.optional(element) /* || your regex here*/
},
$(".selector").validate({
rules: {
// simple rule, converted to {required:true}
name: "required",
// added custom rule
email: {
required: true,
myemailrule: true
}
}
});
希望,它会有所帮助!