背景:
有个需求,一个输入框既可以输入手机又可以输入邮箱。手机号码验证规则自己写,邮箱想用validator内置的。
症结:
如何调用jQuery validator的内置方法?
百度不得其姐,摸到官方文档才得(以email为例):jQuery.validator.methods.email.call(this, value, element)
jQuery validator官方文档
主菜(以内置email为例):
新增一个自定义方法,在其中手写手机号码正则,并调用内置email验证方法:jQuery.validator.methods.email.call(this, value, element);
如下:
jQuery.validator.addMethod("loginName",function(value,element){
var length = value.length;
var phone=/^1[3|4|5|6|7|8|9][0-9]\d{8}$/;
return this.optional(element)||(length == 11 && phone.test(value) || jQuery.validator.methods.email.call(this, value, element));
},"请填写正确的手机号码或邮箱");