Validate an URL using RegularExpressionValidator in asp.net c#

URL validation using RegularExpressionValidator
The RegularExpressionValidator control validates whether the value of an associated input control matches the pattern specified by a regular expression.

The following asp.net c# tutorial code demonstrates how we can validate an URL. Here we will validate an URL by using the RegularExpressionValidator web server control.

The RegularExpressionValidator web server control checks whether the value of an input control matches a pattern defined by a regular expression. This type of validation allows asp.net developers to check for predictable sequences of characters, such as those in email addresses, telephone numbers, and URLs.

If the input control is empty, the validation will succeed. So, if a value is required for the associated input control, asp.net developers have to use a RequiredFieldValidator control in addition to the RegularExpressionValidator control.

The RegularExpressionValidator ValidationExpression property gets or sets the regular expression that determines the pattern used to validate a field. This property value is a String which specifies the regular expression used to validate a field for format. The default is Empty. The ValidationExpression throws HttpException if the regular expression is not properly formed.

So finally, using RegularExpressionValidator control the asp.net c# developers can validate an URL. They just have to pass the specified regular expression to the ValidationExpression property value. The developers also have to use a RequiredFieldValidator control to make the input control required.
URLValidation.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">
    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "Your Home Page:<br/ >" + TextBox1.Text.ToString();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>asp.net RegularExpressionValidator example: how to validate URL</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h2 style="color:Navy">RegularExpressionValidator: Internet URL</h2>
        <asp:Label 
             ID="Label1" 
             runat="server"
             Font-Bold="true"
             Font-Italic="true"
             Font-Size="Large"
             ForeColor="HotPink"
             >
        </asp:Label>
        <br /><br />
        <asp:Label 
             ID="Label2" 
             runat="server" 
             Text="Home Page"
             Font-Bold="true"
             ForeColor="Teal"
             >
        </asp:Label>
        <asp:TextBox 
             ID="TextBox1" 
             runat="server"
             BackColor="Teal"
             ForeColor="Snow"
             Width="250"
             >
        </asp:TextBox>
        <asp:RequiredFieldValidator 
             ID="RequiredFieldValidator1"
             runat="server"
             ControlToValidate="TextBox1"
             Text="*"
             >
        </asp:RequiredFieldValidator>
        <asp:RegularExpressionValidator 
            ID="RegularExpressionValidator1"
            runat="server" 
            ValidationExpression="http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"
            ControlToValidate="TextBox1"
            ErrorMessage="Input valid Internet URL!"
            ></asp:RegularExpressionValidator>
        <br /><br />
        <asp:Button 
             ID="Button1" 
             runat="server" 
             Text="Submit URL"
             Font-Bold="true"
             ForeColor="Teal" 
             OnClick="Button1_Click"
             />
    </div>
    </form>
</body>
</html>