相关疑难解决方法(0)

验证电子邮件地址

我正在尝试使用以下代码使用c#发送电子邮件.

MailMessage mail = new MailMessage();
mail.From = new MailAddress(fromAddress, friendlyName);
mail.To.Add(toAddress);
mail.CC.Add(ccAddress);

//set the content
mail.Subject = emailSubject;
mail.Body = emailHeader + "\n" + emailBody;

//send the message
SmtpClient smtp = new SmtpClient(ServerAddress);
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
mail.IsBodyHtml = true;
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)

现在我的函数收到的"toAddress"字符串可能包含一个地址,或者它可能包含许多逗号分隔的地址.

现在的问题是,在多个逗号分隔的地址的情况下,其中一个或两个可能是错误的电子邮件地址格式.

因此,当我尝试使用此代码发送电子邮件时,我得到例外:

"指定的字符串不是电子邮件地址所需的格式."

有没有办法验证逗号分隔的电子邮件地址?我曾在某处读到,验证电子邮件地址的唯一方法是向其发送电子邮件,因为验证电子邮件地址的正则表达式可能会非常庞大​​.

此外,我无法控制设计,或者地址字符串如何影响我的功能,我无法在UI中添加电子邮件验证,所以我很无奈......

我的问题是电子邮件不会被传递到逗号分隔字符串中的所有地址,即使只有一些地址的格式错误.

有没有办法在.NET中正确验证电子邮件地址?有没有办法清理坏的电子邮件地址并将邮件发送给好的邮件地址?

.net c# email

28
推荐指数
6
解决办法
8万
查看次数

使用PHP中的正则表达式验证电子邮件

我对正则表达式很新.我正在用PHP开发一个项目,我需要验证电子邮件地址.在这个网站和谷歌搜索后我发现以下正则表达式说它应该效果最好.

if (preg_match("/^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/iD", strtolower($mail_address))) {
    echo "valid email";
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用它时,我得到错误说,

"Warning: preg_match(): No ending delimiter '/' found"
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题?

php regex email

28
推荐指数
4
解决办法
8万
查看次数

PHP电子邮件验证

对于PHP,使用preg,NOT ereg的最佳电子邮件验证是什么,因为它已被弃用/删除.

并不需要检查站点存在(它不是像最大的安全性).

我已经找到了许多与ereg相关的方法,但它们(显然)并不是很好的做法.

php regex email-validation preg-match

27
推荐指数
1
解决办法
3万
查看次数

在Python正则表达式中捕获重复的子模式

在匹配电子邮件地址时,在我匹配之后yasar@webmail,我想要捕获一个或多个(\.\w+)(我正在做的事情有点复杂,这只是一个例子),我尝试添加(.\ w +)+,但是它只捕获最后一场比赛.例如,yasar@webmail.something.edu.tr匹配但仅包括部分.tr之后yasar@webmail,因此我丢失.something.edu分组.我可以在Python正则表达式中执行此操作,还是首先建议匹配所有内容,然后再拆分子模式?

python regex

26
推荐指数
4
解决办法
3万
查看次数

在Ruby中删除"@"符号及其后的所有内容

我正在开发一个应用程序,我需要在用户的电子邮件地址之前传递"@"符号作为他/她的名字和姓氏.例如,如果用户的电子邮件地址为"user@example.com",则用户提交表单时,我会从电子邮件中删除"@ example.com",并将"user"指定为姓名.

我已经做过研究,但是无法在Ruby中找到这样做的方法.有什么建议 ??

ruby regex email-validation

23
推荐指数
4
解决办法
2万
查看次数

用于验证多个电子邮件地址的正则表达式

我有一个正则表达式验证我的邮件地址,如下所示:

([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)

这完全正常,但只允许输入一封电子邮件.现在我想扩展它并允许添加多个邮件地址(例如,就像MS Outlook一样),并使用分号作为邮件分割器.

mail1@tld.com;mail2@tld.com;mail3@tld.com

现在我搜索并找到了这个:

([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}(;|$))

这在一点上有效,但遗憾的是在邮件末尾需要一个分号:

mail1@tld.com;
Run Code Online (Sandbox Code Playgroud)

当用户只输入一封电子邮件时,这不是我想要的.

如何扩展我的正则表达式(第一个)以允许添加多个邮件地址,同时让它们通过分号分割?

c# regex email validation rfc

23
推荐指数
3
解决办法
4万
查看次数

正则表达式的电子邮件地址

有人可以给我看一个示例RegEx的电子邮件地址以及如何在Objective-C中使用吗?

寻找合适的东西: name@place.something

regex objective-c email-validation

23
推荐指数
3
解决办法
1万
查看次数

C#MVC 4应用程序中的电子邮件地址验证:使用或不使用Regex

我有一个MVC 4 Web应用程序,我需要输入并验证一些电子邮件地址,而不向用户的电子邮件地址发送电子邮件.

目前我正在使用此模式的基本正则表达式电子邮件验证:

[RegularExpression(@"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z",
        ErrorMessage = "Please enter correct email address")]
Run Code Online (Sandbox Code Playgroud)

虽然这是验证电子邮件地址,但它会将1@1.1作为有效的电子邮件地址传递.目前我有一个需要符号@符号的验证.符号可以是数字/字母和._-的符号.

我的MVC 4应用程序需要更多标准的电子邮件验证.我怎么做?

c# regex asp.net-mvc email-validation asp.net-mvc-4

22
推荐指数
3
解决办法
10万
查看次数

找到HTML5表单用于验证的正则表达式

一些HTML5输入元素接受该pattern属性,该属性是表单验证的正则表达式.其他一些HTML5输入元素(例如)input type=email会自动进行验证.

现在似乎处理验证的方式在浏览器中是不同的.给定一个特定的浏览器,比如Chrome,是否可以通过编程方式提取用于验证的正则表达式?或者也许那里有文件?

regex html5

18
推荐指数
1
解决办法
2万
查看次数

rails - 用于电子邮件验证的REGEX

我正在寻找一个正则表达式验证电子邮件,以了解它是否有效..我有以下内容:

def is_a_valid_email?(email)
    email_regex = %r{
      ^ # Start of string
      [0-9a-z] # First character
      [0-9a-z.+]+ # Middle characters
      [0-9a-z] # Last character
      @ # Separating @ character
      [0-9a-z] # Domain name begin
      [0-9a-z.-]+ # Domain name middle
      [0-9a-z] # Domain name end
      $ # End of string
    }xi # Case insensitive

    (email =~ email_regex)
end
Run Code Online (Sandbox Code Playgroud)

以上问题XXX_XXX@Xxx.com不应该在它应该返回时有效.有关更好的正则表达式的任何想法或建议吗?

谢谢

regex ruby-on-rails ruby-on-rails-3

17
推荐指数
7
解决办法
5万
查看次数