Override jquery проверка правильности адреса электронной почты для плагина - программирование
Подтвердить что ты не робот

Override jquery проверка правильности адреса электронной почты для плагина

Я считаю, что регулярное выражение плагина проверки jQuery недостаточно для моего требования. Он принимает любой адрес электронной почты [email protected] в качестве действительного адреса электронной почты, тогда как я хочу иметь возможность предоставить это регулярное выражение /^([a-zA-Z0-9_.-+])+\@(([a-zA -Z0-9 -]) +.) + ([A-zA-Z0-9] {2,4}) + $/, чтобы он подтвердил полную .com часть адреса. Я больше обеспокоен тем, что могу предоставить собственное регулярное выражение, чем получать регулярное выражение с дураком (поскольку для проверки правильности электронной почты нет регулярного выражения для проверки подлинности)

Просто FYI: я также выполняю проверку на стороне сервера, но на данный момент я не беспокоюсь о правильном правиле адреса электронной почты.

Есть ли способ сделать это в разделе "правила" модуля проверки правильности jQuery?

Это мой раздел правил прямо сейчас:

rules: {
                        email: {
                            required:  {
                                    depends:function(){
                                        $(this).val($.trim($(this).val()));
                                        return true;
                                    }   
                                },
                            email: true
                        },
4b9b3361

Ответ 1

Я бы этого не сделал, но ради ответа вам нужно добавить свою собственную проверку.

//custom validation rule
$.validator.addMethod("customemail", 
    function(value, element) {
        return /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
    }, 
    "Sorry, I've enabled very strict email validation"
);

Затем к вашим правилам добавьте:

rules: {
                    email: {
                        required:  {
                                depends:function(){
                                    $(this).val($.trim($(this).val()));
                                    return true;
                                }   
                            },
                        customemail: true
                    },

Ответ 3

// Add Custom Email Validation
jQuery.validator.addMethod('customemail', function (emailaddr, element) {
      emailaddr = emailaddr.replace(/\s+/g, '');
      return this.optional(element) || 
      emailaddr.match(/^\b[A-Z0-9._%-][email protected]@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i);
 });