Regex 在Razor应用程序中验证html5中的电子邮件输入

Regex 在Razor应用程序中验证html5中的电子邮件输入,regex,html,asp.net-mvc-4,razor,Regex,Html,Asp.net Mvc 4,Razor,我有一个razor应用程序,我想在其中添加一个视图中的电子邮件验证 <td><input type="text" name="mail" placeholder="me@example.com" required autofocus title="" pattern="/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/"/> </td> 但是这里我有一个语法错误 “[”在代码块的开头无效。只有标识符、关键字、注释”(

我有一个
razor
应用程序,我想在其中添加一个视图中的电子邮件验证

  <td><input type="text" name="mail" placeholder="me@example.com" required autofocus title="" pattern="/^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/"/> </td>

但是这里我有一个语法错误

“[”在代码块的开头无效。只有标识符、关键字、注释”()和“{”才有效。


问题是什么?我如何解决它?

尝试用@@@转义@

如果没有,请将其输入“{”或“(”)并检查

可以通过两种方式完成:

通过以下方式渲染“@”:

<input type="email" pattern="^[a-zA-Z0-9._+-]+@("@")[a-zA-Z0-9.-]+\.[a-zA-Z]{2,9}$">

使用HTML编码:

<input type="email" pattern="^[a-zA-Z0-9._+-]+&#64;[a-zA-Z0-9.-]+\.[a-zA-Z]{2,9}$">


info@dot.swiss不同意。“TLD最多4个字母”在2001年是有效的。现在已经不是2001年了。这不是我的观点。{2,4}抛出了很多有效地址”是的,我接受。但这根本不是上下文。如果你想的话,更新到9info@dot.swissbankTechnically,
root@localhost
是有效的电子邮件地址。或者,
jpaugh@internal-服务器
但在这一点上,几乎没有什么需要验证的。