我尝试在 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>

在渲染 View 时,我在该正则表达式中遇到了编译错误 Unexpected character '\' 。我该如何解决此错误?

最佳答案

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

在你的情况下是:

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})(\]?)$/;

关于jquery - 在 ASP.NET MVC 中将 Regex 表达式与 jQuery 一起使用时出现编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14815166/

10-11 05:47