c# - 如何检查字符串是否包含c#中的电子邮件

标签 c# regex email

<分区>

对用户输入的文本框进行电子邮件验证并不难。

但这次我要检查一个字符串/段落是否包含电子邮件地址

例如。我想检查以下字符串中是否有电子邮件

“你今天好吗,如果你有兴趣,请发邮件给我 abc@def.com”

请帮忙。

最佳答案

以下是实现此目标的方法:

string para =
    " kjqdshfkjsdfh dskjhskqjdfhk qdhjkdhfj kjhfksjdhf jhjhjhjh@hhhh.com jjhdjfhsfjjd jhjhjhj jkhjhdfjhdjdf@.com ";
var splittedText = para.Split(new char[] {' '});
var mails = splittedText.Where(s => s.Contains("@"));
foreach (var mail in mails)
{
    //here are all your mails  
}

然后使用以下方法验证:

private bool IsEmailValid(string mail)
{
    try
    {                
        MailAddress eMailAddress = new MailAddress(mail);
        return true;
    }
    catch (FormatException)
    {
        return false;  
    }
}

或者只使用类似的东西:

public static bool ValidateEmail(string str)
{                       
    return Regex.IsMatch(str, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
}

关于c# - 如何检查字符串是否包含c#中的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20332773/

相关文章:

ajax - 如何在ajax请求中使用jmeter

facebook - 如何获取 Facebook 中的用户电子邮件地址(Facebook Connect 或 Graph API)?

java正则表达式匹配特定的url

c# - 应用程序洞察 - TelemetryClient - DependencyTelemetry - UseSampling

c# - 在 C# 中重新排列列

c# - 序列化不带引号的属性值

用于查找的 Python 正则表达式和用于从列表中删除的正则表达式

java - 以流的形式发送 Pdf 附件中的电子邮件

php - 发送时事通讯的最有效方式

c# - 异步执行的排队操作/委托(delegate)