使用Jquery.validate.jsvalidation电子邮件地址的格式

我正在使用jquery.validate.js来validation公式的电子邮件input。

它运行良好,但我很惊讶,它是除了以下格式的电子邮件有效:名称@域

在我看来,缺less一个.TLD,不是吗?

我检查了jquery.validate.js文件中的函数。 他们正在参考www.whatwg.org的规范来获取有效的电子邮件地址。 在网站上说,一个有效的电子邮件地址的格式应该是name@doman.tld

jquery.validate.js中的JS Regex如下:

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 ); }, 

如何使用自定义正则expression式来validation电子邮件是否包含.TLD?

我指定了自定义validation方法如下:

 jQuery.validator.addMethod("customemail", function(value, element) { return this.optional(element) || /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(value); }, "Please enter a valid email address."); 

validation表单的函数如下:

 $("#subscription-form").validate({ }); 

我需要包括什么,所以脚本使用我的自定义方法,而不是电子邮件方法?

试试这个正则Regex

 /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/