Automatically Hyperlink URLs and E-Mail Addresses in ASP.NET Pages with C# | CodeGuru

Automatically Hyperlink URLs and E-Mail Addresses in ASP.NET Pages with C#

Introduction This article introduces how to hyperlink URLs and e-mail addresses in ASP.NET pages with C#, When you design a forum or other Web site, the code is very useful. Background After I designed the Web site http://www.outsourcexp.com, I found that many users post URL and e-mail information, but these URLs and e-mails just display […]

Written By
CodeGuru Staff
CodeGuru Staff
Apr 7, 2006
2 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Introduction

This article introduces how to hyperlink URLs and e-mail addresses in ASP.NET pages with C#, When you design a forum or other Web site, the code is very useful.

Background

After I designed the Web site http://www.outsourcexp.com, I found that many users post URL and e-mail information, but these URLs and e-mails just display as text. If you want to visit these URLs or e-mail addressess, you have to copy them and then paste them to your browser or e-mail client. I searched articles about automatically hyperlinking URLs, but only found VB source code. So, I decided do it myself.

Using the Code

The first step is how to detect URLs and e-mail addresses. Of course, the best way is with regular expressions. By using regular expressions, you can automatically detect hyperlink-sensitive text and automatically wrap it into elements pointing to the same URL. Here’s how to proceed. The idea is to preprocess any displayable text using ad hoc regular expressions to identify portions of text that are e-mail addresses or Web site URLs. You create a RegEx object and initialize it with the regular expression. Next, you call IsMatch on the input string to see whether at least one match is found. Next, you call the Replace method. Replace takes the input as its first argument.

First, when you use regular expressions, you must include System.Text.RegularExpressions:

using System.Text.RegularExpressions;

The second step is to detect a URL:

Regex urlregex = new Regex(@”(http://([w.]+/?)S*)”,
   RegexOptions.IgnoreCase|RegexOptions.Compiled);

Here is how to detect an e-mail address:

Regex emailregex = new Regex(@”([a-zA-Z_0-9.-]+@[a-zA-Z_0-9.-]+.w+)”,
   RegexOptions.IgnoreCase|RegexOptions.Compiled);

When you detect a URL or e-mail address, you need to replace it with <a href=…></a>. I put all these into a function.

private void Button1_Click(object sender, System.EventArgs e)
{
   string strContent = InputTextBox.Text;
   Regex urlregex = new Regex(@”(http://([w.]+/?)S*)”,
                    RegexOptions.IgnoreCase| RegexOptions.Compiled);
   strContent = urlregex.Replace(strContent,
                “<a href=”$1″ target=”_blank”>$1</a>”);
   Regex emailregex = new Regex(@”([a-zA-Z_0-9.-]+@[a-zA-Z_0-9.-]+.w+)”,
      RegexOptions.IgnoreCase| RegexOptions.Compiled);
   strContent = emailregex.Replace(strContent, “<a href=mailto:$1>$1</a>”);
   lbContent.Text += “<br>”+strContent;
}

Here you go. Build this control library, add references to your project, and enjoy validating.

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.