在剃刀中使用包含'@'的javascript正则表达式
我正在使用JavaScript在剃刀视图页面中执行电子邮件地址验证。 我将使用正则表达式类似于在Validate email address in JavaScript?在剃刀中使用包含'@'的javascript正则表达式
然而提出的一个,因为正则表达式中包含“@”字符,我得到解析器错误时尝试运行Web应用程序。
我正则表达式看起来像
/^...otherpart @* ... other part$/
我尝试添加一个“@”字符,使在原点的正则表达式... @@ * ......,这消除了编译错误,但似乎使正则表达式停止工作。 (我们已经在另一个不使用剃须刀引擎的网络应用程序中使用它,所以我知道它的工作原理)。
有没有其他办法可以逃避'@'字符?
您可以在其前面添加另一个@
以转义@@
,尝试省略量化*
。如果这看起来不起作用,那么围绕该函数添加<text></text>
,它告诉剃刀不要分析内容。或者,您可以将Javascript放在单独的文件中以完成您的需求。
如果由于某种原因,你在你的字符串有多个@@
,提前到位代码块@:@@
把正则表达式中的下列代替@:
@('@')
以上将被渲染到一个@。
你的榜样将成为:
/^...otherpart @('@')* ... other part$/
这应该是公认的答案!加倍@@改变你的REGEX,那不是你想要的。不过,我希望有更好的方式来看待剃刀上的@符号,比如\ @ –
只是简单地使用双@@
。
它适用于我,我认为这是唯一的方法。
你有没有试过用' '包装你的脚本块? –
Jasen
@Jasen我还没有试过 的伎俩。明天再试,让你知道结果。 –
如果你使用这个脚本有几个地方,把它放在它自己的.js文件中可能是一个好主意。单个验证规则(如max/min)可以放入元素的数据属性中,并通过jQuery读取。 – jfrankcarr