问题与我的正则表达式在c#中,工作与javascript
本文关键字:工作 javascript 我的 正则表达式 问题 | 更新日期: 2023-09-27 18:19:08
我使用这个正则表达式来验证我的电子邮件
/.+@.+'..+/i
我不能让它工作在我的服务器端虽然。我试过了
var pattern = @"^.+@.+'..+i$";
var pattern = @".+@.+'..+i";
我得到0的结果尝试它(也在我的代码)。什么好主意吗?不确定它是否有帮助,但要求允许a@b.c
所以1个字符,一个@和至少一个'。'.
问题似乎是i
;你不是指"以i
结尾"(这是i$
),等等-在javascript中,末尾的.../i
意味着"不区分大小写"-但是没有什么可以让区分大小写,所以只是删除i
(从两者都可以,但至少从c#)。您还应该删除您从任何地方添加的^
和$
。为了完整起见,RegexOptions.IgnoreCase
是如何在。net Regex
中忽略大小写的。
var pattern = @".+@.+'..+";
只需从正则表达式中删除i
字符,然后在模式中添加开始,结束锚,
@"^.+@.+'..+$";
演示JavaScript:
function validateEmail(email) {
var re = /^(([^<>()[']''.,;:'s@'"]+('.[^<>()[']''.,;:'s@'"]+)*)|('".+'"))@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'])|(([a-zA-Z'-0-9]+'.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
c# :
bool validateEmail(string email)
{
var re = new Regex(@"^(([^<>()'[']'.,;:'s@""]+('.[^<>()'[']'.,;:'s@""]+)*)|("".+""))@(('[[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'])|(([a-zA-Z'-0-9]+'.)+[a-zA-Z]{2,}))$") ;
return re.IsMatch(email);
}
见这里:在JavaScript中验证电子邮件地址?