格式化字符串电子邮件到电子邮件链

时间:2009-12-07 18:06:39

标签: c#

我有一个可以为空的字符串电子邮件,如果它看起来有效,我想将该字符串格式化为mailto-link。

像这样:

<a href="mailto:foo@foo.com">foo@foo.com</a>

这是怎么做到的?

/ M

3 个答案:

答案 0 :(得分:5)

public string emailLink(string emailAddress)
{
    Regex emailRegex = new Regex(@"^(?!.*\.\.)[a-zA-Z0-9\w\._%&!'*=?^+-]*@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]*\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$";

    if (emailRegex.IsMatch(emailAddress)
    {
        return string.Format("<a href=\"mailto:{0}\">{0}</a>", emailAddress);
    }
    return "";
}

答案 1 :(得分:3)

   var link = IsValid(email) 
        ? string.Format("<a href='mailto:{0}'>{0}</a>", email) 
        : email

其中函数IsValid以满足您需求的方式实现。

答案 2 :(得分:3)

string formatIfValid(string email) {
   if(!validEmail(email))
      return null;
   return "<a href=\"mailto:" + email + "\">" + email + "</a>";
}

或者你真的问过别的什么吗?