Javascript проверка электронной почты

0

Обычно я не задаю вопросов в таких местах, как заполненный информацией, которую я, вероятно, мог бы найти, решит мою проблему. Тем не менее, я новичок в PHP, Javascript и т.д., И я просто не могу понять эту проблему, которую я имею, поэтому я обращаюсь к вам, ребята, и буду очень благодарен за помощь.

Итак, я играю с системой комментариев, созданной человеком, но хотел как функцию Javascript, которая проверила бы проверку электронной почты. Вот код, как следует...

$(function () {
    //alert(event.timeStamp);
    $('.new-com-bt').click(function (event) {
        $(this).hide();
        $('.new-com-cnt').show();
        $('#name-com').focus();
    });

    /* when start writing the comment activate the "add" button */
    $('.the-new-com').bind('input propertychange', function () {
        $(".bt-add-com").css({
            opacity: 0.6
        });
        var checklength = $(this).val().length;
        if (checklength) {
            $(".bt-add-com").css({
                opacity: 1
            });
        }
    });

    /* on clic  on the cancel button */
    $('.bt-cancel-com').click(function () {
        $('.the-new-com').val('');
        $('.new-com-cnt').fadeOut('fast', function () {
            $('.new-com-bt').fadeIn('fast');
        });
    });

    // on post comment click 
    $('.bt-add-com').click(function () {
        var theCom = $('.the-new-com');
        var theName = $('#name-com');
        var theMail = $('#mail-com');
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]    {2,4})+$/;

        if (!theCom.val()) {
            alert('oh! Don't forget your message!');
        }
        if (!filter.test(theMail.value)) {
            alert('Please provide a vaild email address');
            theMail.focus;
            return false;

        } else {
            $.ajax({
                type: "POST",
                url: "ajax/add-comment.php",
                data: 'act=add-com&id_post=' + <? php echo $id_post; ? > +'&name=' + theName.val() + '&email=' + theMail.val() + '&comment=' + theCom.val(),
                success : function (html) {
                    theCom.val('');
                    theMail.val('');
                    theName.val('');
                    $('.new-com-cnt').hide('fast', function () {
                        $('.new-com-bt').show('fast');
                        $('.new-com-bt').before(html);
                    })
                }
            });
        }
    });

});

Как вы можете видеть, я предоставил фильтр var и т.д.... но вкратце объясняя, конечный результат: он будет предупреждать, что сообщение недействительно, но при вводе правильного адреса электронной почты и попытке отправить, независимо от того, что оно просто приходит с предупреждением и конечным результатом, который, как предполагается, просто не выполняется.

Извините, если я собираюсь долго об этом или не знаю об этом, но я готов помочь в любом случае.

Снова любая помощь была бы высоко оценена.

благодаря

Теги:
validation
email

2 ответа

4

Полезная функция.

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\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,}))$/;
    return re.test(email);
} 


// Example
if(validateEmail("[email protected]"))
{
    alert("Valid!");
}else{
    alert("Invalid!");
}
0

Возможно, вам захочется использовать библиотеку проверки, например parsley.js, если вы будете проверять несколько типов ввода. Я предпочитаю петрушку, но есть несколько доступных библиотек. (примечание: петрушка полагается на jquery).

<form id="emailForm" data-parsley-validate>
   <label for="email">Email * :</label>
   <input type="email" name="email" required />
</form>

По умолчанию в parsley будет отображаться общее сообщение об ошибке типа "Это поле необходимо. Это должно быть допустимое электронное письмо". Однако вы можете легко настроить сообщение или отказаться от отображения какого-либо сообщения вообще.

data-parsley-error-message="my message" // A global error message for this input
data-parsley-email-message="my message" // Replace the default parsley email error message for this input

Ещё вопросы

Сообщество Overcoder
Наверх
Меню