在MVC javascript部分解析@?

在MVC javascript部分解析@?,javascript,regex,asp.net-mvc,asp.net-mvc-4,Javascript,Regex,Asp.net Mvc,Asp.net Mvc 4,我正在MVC4的javascript部分尝试使用EmailRegEx。但是RegEx有@char。它不允许解析它 error: Parser Error Message: "[" is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid. 代码 @节脚本{ $(文档).ready(函数(){ $('#btnSave,#btnC

我正在MVC4的javascript部分尝试使用Email
RegEx
。但是
RegEx
有@char。它不允许解析它

error:

Parser Error Message: "[" is not valid at the start of a code block.  
        Only identifiers, keywords, comments, "(" and "{" are valid.
代码
@节脚本{
$(文档).ready(函数(){
$('#btnSave,#btnCoAuthor')。单击(函数(){
if(form.valid()){
var hasError=false;
var emailReg='[-0-9a-zA-Z.+\+@[-0-9a-zA-Z.+\.[a-zA-Z]{2,4}';
//错误显示@

您需要为Razor转义
@
,而不是JS字符串本身。因此,只需使用
@
。Razor呈现HTML后,它将作为一个
@
结束。您还可以在JS中使用转义序列,如:

var at = "\u0040";

使用
@
进行转义对我很有用

var emailReg = '[-0-9a-zA-Z.+_]+@@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}';
并且输出HTML是

var emailReg = '[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}';

重复。使用双精度@.
]+@[
对其进行转义。我收到一个错误,在代码块的开头说“解析器错误消息:“@”无效。只有标识符、关键字、注释和“{”有效。这是一个非常干净的安装,有进一步调试的想法吗?谢谢
var emailReg = '[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}';