Go4Expert (http://www.go4expert.com/)
-   ASP.NET (http://www.go4expert.com/articles/asp-net-tutorials/)
-   -   Reusable validation methods in C# .Net (http://www.go4expert.com/articles/reusable-validation-methods-c-sharp-net-t19437/)

naimish 16Sep2009 08:46

Reusable validation methods in C# .Net


Many times we need to check or validations for numeric/string/Alphanumeric values.


It provides some methods in C# .Net, which can be resue in your web or windows application.

The code


using System;
using System.Text.RegularExpressions;
class Validation {
  public static void Main() {
    String strToTest;
    Validation objValidate = new Validation();
    Console.Write("Enter a String to Test for Alphabets:");
    strToTest = Console.ReadLine();
    if (objValidate.IsAlpha(strToTest)) {
      Console.WriteLine("{0} is Valid Alpha String", strToTest);
    } else {
      Console.WriteLine("{0} is not a Valid Alpha String", strToTest);
  // Function to test for Positive Integers.
  public bool IsNaturalNumber(String strNumber) {
    Regex objNotNaturalPattern = new Regex("[^0-9]");
    Regex objNaturalPattern = new Regex("0*[1-9][0-9]*");
    return !objNotNaturalPattern.IsMatch(strNumber) && objNaturalPattern.IsMatch(strNumber);
  // Function to test for Positive Integers with zero inclusive
  public bool IsWholeNumber(String strNumber) {
    Regex objNotWholePattern = new Regex("[^0-9]");
    return !objNotWholePattern.IsMatch(strNumber);
  // Function to Test for Integers both Positive & Negative
  public bool IsInteger(String strNumber) {
    Regex objNotIntPattern = new Regex("[^0-9-]");
    Regex objIntPattern = new Regex("^-[0-9]+$|^[0-9]+$");
    return !objNotIntPattern.IsMatch(strNumber) &&
  // Function to Test for Positive Number both Integer & Real
  public bool IsPositiveNumber(String strNumber) {
    Regex objNotPositivePattern = new Regex("[^0-9.]");
    Regex objPositivePattern = new Regex("^[.][0-9]+$|[0-9]*[.]*[0-9]+$");
    Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
    return !objNotPositivePattern.IsMatch(strNumber) &&
    objPositivePattern.IsMatch(strNumber) && !objTwoDotPattern.IsMatch(strNumber);
  // Function to test whether the string is valid number or not
  public bool IsNumber(String strNumber) {
    Regex objNotNumberPattern = new Regex("[^0-9.-]");
    Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
    Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");
    String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
    String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
    Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + trValidIntegerPattern + ")");
    return !objNotNumberPattern.IsMatch(strNumber) && !objTwoDotPattern.IsMatch(strNumber) && !objTwoMinusPattern.IsMatch(strNumber) && objNumberPattern.IsMatch(strNumber);
  // Function To test for Alphabets.
  public bool IsAlpha(String strToCheck) {
    Regex objAlphaPattern = new Regex("[^a-zA-Z]");
    return !objAlphaPattern.IsMatch(strToCheck);
  // Function to Check for AlphaNumeric.
  public bool IsAlphaNumeric(String strToCheck) {
    Regex objAlphaNumericPattern = new Regex("[^a-zA-Z0-9]");
    return !objAlphaNumericPattern.IsMatch(strToCheck);

shabbir 3Oct2009 17:07

Re: Reusable validation methods in C# .Net
Nomination for Article of the month - Sep 2009 Started. Nominate this article.

rasd123 9Nov2009 06:07

Re: Reusable validation methods in C# .Net
Hello, this is great article. I have blog and I thanks to say you thanks. Regards!

technica 24Dec2009 14:14

Re: Reusable validation methods in C# .Net
You can also include validations for Email Address, Password Comparison etc.

iamscottj 27Aug2010 12:40

Re: Reusable validation methods in C# .Net
I think its pretty much straight forward. You can get various validations. I would suggest some kind of XML file where you can create dynamic validations like if someone edits the XML file in a suitable manner, he can use that validation in the application. And as technica suggested, I also believe that there must be EMail validation as its currently the most required validation.

almedajohnson 17Sep2010 15:26

Re: Reusable validation methods in C# .Net
I loved this forum. As there is so many things to learn here. Thanks guys for maintaining such a valuable .net community

All times are GMT +5.5. The time now is 18:23.