电子邮件的正则表达式在 mvc cshtml 中不起作用

Posted

技术标签:

【中文标题】电子邮件的正则表达式在 mvc cshtml 中不起作用【英文标题】:Regular expression for email doesnt work in mvc cshtml 【发布时间】:2013-06-24 14:46:29 【问题描述】:

我有一个像这样的正则表达式

 var filter = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]2,4$/i);

mvc中,但在cshtml页面中的@之后显示错误,这是显而易见的。 我该如何纠正它才能正常工作。感谢您的帮助。

附:如果有人有任何其他正则表达式,请提供。谢谢

【问题讨论】:

【参考方案1】:

@ 转义为@@,即应该可以:

var filter = new RegExp(/^[+a-zA-Z0-9._-]+@@[a-zA-Z0-9.-]+\.[a-zA-Z]2,4$/i);

我喜欢使用Phil Haack's C# Razor Syntax Quick Reference 作为... Razor 语法的快速参考。

【讨论】:

【参考方案2】:

cshtml 中不需要正则表达式。你可以使用

<form>
    <input type="email" placeholder="me@example.com" required>
    <input type="submit">
</form>

现在这个文本框是电子邮件格式所必需的。你也可以在 mvc razor 视图引擎中使用它。

如果您对我的回答感到满意,请标记为回答。

【讨论】:

以上是关于电子邮件的正则表达式在 mvc cshtml 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

修改正则表达式以检查 sting 是不是在 jquery validate 中不包含电子邮件地址

MVC 正则表达式验证电子邮件

C# MVC 4 应用程序中的电子邮件地址验证:使用或不使用正则表达式 [重复]

我的正则表达式在 C# 中不起作用

如何让asp.net core mvc发布时候不编译cshtml视图

MVC 中的当前上下文中不存在名称“脚本”