正则表达式javascript-错误

dan*_*l__ 1 javascript regex validation

为什么这个正则表达式不起作用?正确的电子邮件地址未通过验证.

<script type="text/javascript">
$(document).ready(function() {

    var regex = new RegExp(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i );

    $('#submit').click(function () {    
        var name = $('input[name=name]');
        var email = $('input[name=email]');
        var website = $('input[name=website]');
        var comment = $('textarea[name=comment]'); 
        if ((!regex.test(email))) {
            email.addClass('hightlight');
            return false;
        } else 
            email.removeClass('hightlight');            
    }
}
}
Run Code Online (Sandbox Code Playgroud)

链接:http: //emprego.herobo.com/

Bry*_*yan 5

您正在jQuery对象而不是字符串上调用RegExp测试方法.更改条件来自:

if ((!regex.test(email))) { ... }
Run Code Online (Sandbox Code Playgroud)

至:

if ((!regex.test(email.val()))) { ... }
Run Code Online (Sandbox Code Playgroud)

它应该工作.