我知道以下内容: -
$( function()
{
$( "#register" ).validate
({
rules:
{
...
email: {
required: true,
email: true
},
...
但email: true
实际意味着什么。哪些字符是允许的,哪些不是?网上有什么参考资料可以让我找到确切含义吗?感谢。
答案 0 :(得分:1)
电子邮件的jQuery验证插件
规则(默认:从标记中读取规则(类,属性,数据))
定义自定义规则的键/值对。 Key是元素的名称(或一组复选框/单选按钮),value是由规则/参数对或普通String组成的对象。可以与类/属性/数据规则结合使用。
可以将每个规则指定为具有依赖属性,以仅在特定条件下应用规则。有关详细信息,请参阅下面的第二个示例。
示例:根据需要指定名称元素,并根据需要指定电子邮件元素(使用单个规则的快捷方式)和有效电子邮件地址(使用其他对象字面值) )。
$(".selector").validate({
rules: {
// simple rule, converted to {required:true}
name: "required",
// compound rule
email: {
required: true,
email: true
}
}
});
以上是理论。 我们想要找到使用此标记的确切含义。所以,让我们看一下插件的文件core.js,它定义了我们想要学习的正则表达式。这个问题的答案是插件正在使用的正则表达式。
在此处检查此正则表达式: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
}
}
});
希望,这有帮助!