使用带有jQuery的Regex表达式时的编译错误在ASP.NET MVC中

Cod*_*-EZ 3 asp.net-mvc jquery

我尝试在asp.net mvc中使用jQuery验证下面的电子邮件,如下所示

<script type="text/javascript">
   function validateEmail(sEmail) {
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    if (filter.test(sEmail)) {
        return true;
    }
    else {
        return false;
    }
      $(document).ready(function() {
   $('#create').click(function() {
        var sEmail = $('#UserName').val();
        if ($.trim(sEmail).length == 0) {
            alert('Please enter valid email address');
            e.preventDefault();
        }
        if (validateEmail(sEmail)) {
            alert('Email is valid');
        }
        else {
            alert('Invalid Email Address');
            e.preventDefault();
        }
    });
});
    });
</script>
Run Code Online (Sandbox Code Playgroud)

在渲染视图的过程中,我得到了编译错误,在该正则表达式压力下出现意外字符'\'.如何解决此错误?

小智 9

我有同样的错误.是答案.这个对我有用.需要使用@@而不是@.

在你的情况下它是:

var filter = /^([\w-\.]+)@@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
Run Code Online (Sandbox Code Playgroud)