0

我在 VS2012 中遇到一个奇怪的错误。

我有以下脚本:

<script type="text/javascript">

    function validateEmail($email) {
        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
        if( !emailReg.test( $email ) ) {
            return false;
        } else {
            return true;
        }
    }

</script>

这会在 IDE 中引发所有错误,并且在 VS2010 中可以正常运行。

有什么问题?

谢谢!

4

1 回答 1

4

让我猜猜……您使用的是 Razor(一个 cshtml 页面)吗?如果是这样,则导致此问题是因为 IDE 认为该部分@([\w-]+\.)是 Razor 表达式,然后 javascript reg ex 正在寻找缺少的括号。要解决此问题,您需要@使用 a转义,@@ 因此您的代码将是:

<script type="text/javascript">

    function validateEmail($email) {
        var emailReg = /^([\w-\.]+@@([\w-]+\.)+[\w-]{2,4})?$/;
        if( !emailReg.test( $email ) ) {
            return false;
        } else {
            return true;
        }
    }

</script>
于 2013-05-02T14:29:21.520 回答