Проверьте формат адреса электронной почты, используя Jquery.validate.js [закрыто]
я используюjquery.validate.js для подтверждения ввода электронной почты в формуляр.
Это работает хорошо, но я удивлен, что за исключением электронных писем, которые действительны в следующем формате: name @ domain
На мой взгляд, отсутствует .TLD, нет?
Я проверил функцию внутри файла jquery.validate.js. Они ссылаются на спецификацию отwww.whatwg.org для действительного адреса электронной почты. На сайте написано, что действительный адрес электронной почты должен иметь формат [email protected]
JS Regex внутри jquery.validate.js выглядит следующим образом:
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 );
},
Как мне использовать пользовательское Regex, которое проверяет, содержит ли электронная почта .TLD?
Я указал пользовательский метод проверки следующим образом:
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.");
Функция для проверки формы следующая:
$("#subscription-form").validate({
});
Что мне нужно включить, чтобы скрипт использовал мой собственный метод вместо метода электронной почты?