0

一个非常具体的问题,这个 jQuery 总是记录到控制台,尽管电子邮件格式是一个真实的地址,但它是无效的。似乎无法弄清楚为什么。正则表达式是否正确?非常感谢任何帮助

    // VALIDATION ON BLUR
    $("#prospects_form > *").blur(function() {

        // Validate Email
        function valEmail() {
            var email = $("#form_email"),
                // Check address format
                emailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

            if (!emailFilter.test(email.value)) {
                // Incorrect
                $("#form_email").addClass("invalid");
                console.log('email invalid');
            } else {
                // Correct
                $("#form_email").removeClass("invalid");
                console.log('email valid');
            }
        }
        valEmail();

    });
4

2 回答 2

1

按照我的评论:

看到 var email 是一个 jQuery 对象,你应该尝试 email.val() 来获取它的值。

如果使用email.val().

if (!emailFilter.test(email.val())) {...
于 2013-10-18T12:16:12.370 回答
1

jquery Dom 对象没有属性value

用这个

$("#form_email").val();

代替

$("#form_email").value;

希望这可以帮助....

于 2013-10-18T12:22:26.130 回答