Asp.net mvc 4 如何在MVC模式中忽略@

Asp.net mvc 4 如何在MVC模式中忽略@,asp.net-mvc-4,Asp.net Mvc 4,我想将模式写入视图中的文本框 此文本框将保存电子邮件值 但我想写正则表达式,但我收到了错误,因为正则表达式包含@ 我写了@但还是不起作用 我的代码 <input type="text" name="Emails" id="Emails" class="form-control Div-heigh" placeholder="To...." required pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=

我想将模式写入视图中的文本框 此文本框将保存电子邮件值 但我想写正则表达式,但我收到了错误,因为正则表达式包含@

我写了@但还是不起作用

我的代码

<input type="text" name="Emails" id="Emails" class="form-control Div-heigh" placeholder="To...." required pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?" />

我希望创建一个HTML助手,如下所示

 public static class ValidationExtensions
 {
      public static string EmailRegex(this HtmlHelper helper)
      {
           return @"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
      }
 }
然后在你的视野中使用它

<input requiredPattern="@Html.EmailRegex()" />

这将在视图之间重复使用,并将复杂的正则表达式(程序员人工制品)与html(更像是设计师的任务)分开


编辑:链接到更长的链接。

太好了。很高兴这有帮助。