C# 和 javascript 电子邮件验证正则表达式

标签 c# javascript asp.net regex

<分区>

我有 ASP.NET 项目,我需要检查电子邮件是否正确。我一直在使用该脚本,但它在 asp.net 上失败了,因为 @ 是错误的符号。

function emailvalidate(e)
{
    var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/;
    return b.test(e);
}

我该如何解决这个问题?通过 JavaScript 而不是 ASP.NET 或 C# 检查电子邮件很重要。

附言我是 ASP.NET 和 JavaScript RegEx 的新手。

最佳答案

您使用的是 Razor View 引擎吗?如果是这样,如果您要将此脚本添加到 cshtml 文件本身,则需要转义那些 @ 符号

function emailvalidate(e)
{
    var b=/^[^@@\s]+@@[^@@\.\s]+(\.[^@@\.\s]+)+$/;
    return b.test(e);
}

或者您可以像 deherch 提到的那样将正则表达式包装在 @Html.Raw 中:

var b = @Html.Raw(@"/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/");

您还可以将此函数与所有其他常用 JS 函数一起添加到脚本文件中。这样你根本不需要转义 Razor 语法。

Win 提到您要使用服务器端验证。我会说最好同时使用两者。客户端验证可以从一开始就阻止它访问服务器。以及服务器端验证,因为您永远无法相信客户端传入的内容。

关于C# 和 javascript 电子邮件验证正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24391043/

相关文章:

asp.net - 加密 ASP.NET 请求和响应以避免 "man-in-the-middle"攻击

c# - 按字符串字段方法的通用排序

c# - Linq to SQL 背后的安全性

不同上下文中的 JavaScript 'this'

javascript - 在 JavaScript 中退出 for-of 循​​环 block 时使用 Break 语句与提前返回

asp.net - 如何从mysql数据库的createuserwizard获取用户ID?

javascript - 为什么 ajax 请求会忽略 "Set-Cookie" header ?

c# - 创建新任务会产生后台线程还是线程池线程

c# - C# WPF 中的上下文菜单绑定(bind)

javascript - 如何捕获我点击的项目,以便将其传递给 API - VueJS 和 Quasar