Home > ASP.Net > Use Regular Expression for Validation and Length Validation

Use Regular Expression for Validation and Length Validation


Hi

try this example to use Regular Expression for Validation and Length Validation

Step1 :- Open VS2005 and create a new website project

Step2 :- Add new class in App_Code folder and name it “RegExp.cs”


using System;
using System.Collections.Generic;
using System.Text;

namespace Util
{
    public class RegExp
    {
        public static readonly string Url = "[a-zA-Z0-9-_\\$]+(\\.[a-zA-Z0-9-_\\$]+)?\\??[a-zA-Z0-9-_\\$]+=?[a-zA-Z0-9-_\\$]+(&[a-zA-Z0-9-_\\$]+=[a-zA-Z0-9-_\\$]+)*";
        public static readonly string Date = "(0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-]((175[7-9])|(17[6-9][0-9])|(1[8-9][0-9][0-9])|([2-9][0-9][0-9][0-9]))"; // supports dates from 1-1-1757 to 31-12-9999 for SQL Server 2000 Date Range
        public static readonly string Time = "(0[1-9]|[1][0-2])[:](0[0-9]|[1-5][0-9])[:](0[0-9]|[1-5][0-9])[ ][A|a|P|p][M|m]";
        public static readonly string Number = "[-+]?[0-9]*\\.?[0-9]*";
        public static readonly string Digit = "[0-9]*";
        public static readonly string NonNegative = "[+]?[0-9]*\\.?[0-9]*";
        public static string MaxLength(int len)
        {
            return "[\\s\\S]{0," + len.ToString() + "}";
        }
    }
}

Step3 :- Add new class also and name it “ValidationMessages.cs”


using System;
using System.Collections.Generic;
using System.Text;

namespace Resource
{
    public class ValidationMessages
    {
        public static readonly string Required = "* Required";
        public static readonly string Url = "* Please enter a valid URL.<br>Valid characters are all alphanumeric characters and .?&_=-$<br> example: home.aspx?id=5&name=$my_name";
        public static readonly string Date = "* Please enter a valid date in dd-MM-yyyy format.";
        public static readonly string Time = "* Please enter a valid time in hh:mm:ss am format.";
        public static readonly string Number = "* Must be a valid number.";
        public static readonly string Digit = "* Must be a valid whole number.";
        public static readonly string NonNegative = "* Must be a non-negative number.";
        public static string MaxLength(int len)
        {
            return "* Maximum " + len.ToString() + " characters are allowed.";
        }
    }
}

Step4 :- Add new Web page

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <h3>Validation Example</h3>
            <table border="1" width="50%">
                <tr>
                    <td style="width:200px">
                        <asp:Label ID="CommentLabel" runat="server" Text="Comment:"></asp:Label></td>
                    <td>
                        <asp:TextBox ID="CommentTextBox" runat="server" TextMode="MultiLine" Width="500px" />
                        <asp:RegularExpressionValidator ID="CommentValidator" runat="server" ControlToValidate="CommentTextBox"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="DateLabel" runat="server" Text="Date:"></asp:Label></td>
                    <td>
                        <asp:TextBox ID="DateTextBox" runat="server"  Width="500px"/>
                        <asp:RegularExpressionValidator ID="DateValidator" runat="server" ControlToValidate="DateTextBox"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="TimeLabel" runat="server" Text="Time:"></asp:Label></td>
                    <td>
                        <asp:TextBox ID="TimeTextBox" runat="server"  Width="500px"/>
                        <asp:RegularExpressionValidator ID="TimeValidator" runat="server" ControlToValidate="TimeTextBox"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="NumberLabel" runat="server" Text="Number:"></asp:Label></td>
                    <td>
                        <asp:TextBox ID="NumberTextBox" runat="server"  Width="500px"/>
                        <asp:RegularExpressionValidator ID="NumberValidator" runat="server" ControlToValidate="NumberTextBox"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="DigitLabel" runat="server" Text="Digit:"></asp:Label></td>
                    <td>
                        <asp:TextBox ID="DigitTextBox" runat="server"  Width="500px"/>
                        <asp:RegularExpressionValidator ID="DigitValidator" runat="server" ControlToValidate="DigitTextBox"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="NonNegativeLabel" runat="server" Text="Non Negative:"></asp:Label></td>
                    <td>
                        <asp:TextBox ID="NonNegativeTextBox" runat="server" Width="500px" />
                        <asp:RegularExpressionValidator ID="NonNegativeValidator" runat="server" ControlToValidate="NonNegativeTextBox"></asp:RegularExpressionValidator>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:Label ID="UrlLabel" runat="server" Text="URL"></asp:Label></td>
                    <td>
                        <asp:TextBox ID="UrlTextBox" runat="server"  Width="500px"/>
                        <asp:RegularExpressionValidator ID="UrlValidator" runat="server" ControlToValidate="UrlTextBox"></asp:RegularExpressionValidator>
                    </td>
                </tr>
            </table>
        </div>
    </form>
</body>
</html>

Step5 :- In code behind of web page add the following code


using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Util;
using Resource;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        CommentValidator.ValidationExpression = RegExp.MaxLength(50);
        CommentValidator.ErrorMessage = ValidationMessages.MaxLength(50);

        DateValidator.ValidationExpression = RegExp.Date;
        DateValidator.ErrorMessage = ValidationMessages.Date;

        TimeValidator.ValidationExpression = RegExp.Time;
        TimeValidator.ErrorMessage = ValidationMessages.Time;

        NumberValidator.ValidationExpression = RegExp.Number;
        NumberValidator.ErrorMessage = ValidationMessages.Number;

        DigitValidator.ValidationExpression = RegExp.Digit;
        DigitValidator.ErrorMessage = ValidationMessages.Digit;

        NonNegativeValidator.ValidationExpression = RegExp.NonNegative;
        NonNegativeValidator.ErrorMessage = ValidationMessages.NonNegative;

        UrlValidator.ValidationExpression = RegExp.Url;
        UrlValidator.ErrorMessage = ValidationMessages.Url;
    }
}

Hope this helps

Good Luck

Advertisements
Categories: ASP.Net
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: