Showing posts with label Validation. Show all posts
Showing posts with label Validation. Show all posts

Check for Valid Date using JavaScript

The following code is helpful to Validate a Date using javascript.
  1. Call the Function "OnClientClick" of Button (OnClientClick="ValidateForm())
  2. Write the Following Functions in Script tag of Head Section.
Javascript :
    // Declaring valid date character, minimum year and maximum year
    var dtCh= "/";
    var minYear=1900;
    var maxYear=2100;
    
    function isInteger(s)
    {
        var i;
        for (i = 0; i <>
        {
            // Check that current character is number.
            var c = s.charAt(i);
            if (((c < "0") || (c > "9"))) return false;
        }
        // All characters are numbers.
        return true;
    }

    function stripCharsInBag(s, bag)
    {
        var i;
        var returnString = "";
        // Search through string's characters one by one.
        // If character is not in bag, append to returnString.
        for (i = 0; i <>
        {
            var c = s.charAt(i);
            if (bag.indexOf(c) == -1) returnString += c;
        }
        return returnString;
    }

    function daysInFebruary (year)
    {
        // February has 29 days in any year evenly divisible by four,
        // EXCEPT for centurial years which are not also divisible by 400.
        return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
    }
    
    function DaysArray(n)
    {
        for (var i = 1; i <= n; i++)
        {
            this[i] = 31
            if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
            if (i==2) {this[i] = 29}
        }
        return this
    }

    function isDate(dtStr)
    {
        var daysInMonth = DaysArray(12)
        var pos1=dtStr.indexOf(dtCh)
        var pos2=dtStr.indexOf(dtCh,pos1+1)
        var strMonth=dtStr.substring(0,pos1)
        var strDay=dtStr.substring(pos1+1,pos2)
        var strYear=dtStr.substring(pos2+1)
        strYr=strYear
        if (strDay.charAt(0)=="0" && strDay.length>1)
        strDay=strDay.substring(1)
        if (strMonth.charAt(0)=="0" && strMonth.length>1)
        strMonth=strMonth.substring(1)
        
        for (var i = 1; i <= 3; i++)
        {
            if (strYr.charAt(0)=="0" && strYr.length>1)
            strYr=strYr.substring(1)
        }
        
        month=parseInt(strMonth)
        day=parseInt(strDay)
        year=parseInt(strYr)
        
        if (pos1==-1 || pos2==-1)
        {
            alert("The date format should be : mm/dd/yyyy")
            return false
        }
        if (strMonth.length<1>12)
        {
            alert("Please enter a valid month")
            return false
        }
        if (strDay.length<1>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
        {
            alert("Please enter a valid day")
            return false
        }
        if (strYear.length != 4 || year==0 || yearmaxYear)
        {
            alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
            return false
        }
        if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false)
        {
            alert("Please enter a valid date")
            return false
        }
        return true
    }

    function ValidateForm()
    {
        var dt;
        dt=document.getElementById('txtDate');
        if (isDate(dt.value)==false)
        {
            dt.focus()
            return false
        }
        return true
    }

To Validate Only Digits Using JavaScript

Valdate Textbox to accept only Digits using Javascript.
Use this function on "keyup" event of Textbox.

Javascript:
    function isDigit(evt)
    {
        var charCode = (evt.which) ? evt.which : event.keyCode

        if (charCode > 47 && charCode < 58)
        { 
            return true;
        }
        else
        {   
            return false;
        }      
    }
aspx:
 asp:textbox id="TextBox1" onkeyup="return isDigit(event)" runat="server" width="238px" 

Validate the Maximum no. of Characters allowed in TextBox Using Java Script.

Function for Check and limit the number of characters allowed in a Textbox.
CheckLength(txt,5) : It will allow only 5 Characters in text box.

Javascript :
    function CheckLength(obj,Length)
    {
        if (obj.value.length>Length)
        {
            alert("Exceeding Maximum " + Length +" Characters")
            obj.focus()
            obj.select()
        }
    } 
aspx :
asp:textbox id="TextBox1" onkeyup="CheckLength(this,5)" runat="server" width="238px" 

To Validate Numbers Using JavaScript

Use the following function to Check the object does ahve a Numeric value or not.

javascript :
    function Validatenumber(obj)
    {
        if (obj.length !=0)
        {
            var text = /^[-0-9]+$/;

            if ((document.getElementById(obj.id).value != "") && (!text.test(document.getElementById(obj.id).value)))
            {
                alert("Please enter numeric values only");
                obj.focus();
                obj.select();
            }
        }
    }

For Validating the Year Value Using Javascript ...

The following code used to validate "Year" using javascript.

Javascript :
    function ValidateYear(obj)
    {
        if (obj.length !=0)
        {
            var text = /^[0-9]+$/;

            if ((document.getElementById(obj.id).value != "") && (!text.test(document.getElementById(obj.id).value)))
            {
                alert("Please Enter Numeric Values Only");
                obj.focus();
                obj.select();
            }

            if (document.getElementById(obj.id).value.length>4)
            {
                alert("Year is not proper. Please check");
                obj.focus();
                obj.select();
            }
        }
    }

Function to Validate Number of Digits Before and After Decimal Point in TextBox

Usage : On KeyPress Event we Can call the function to Validate the Text Box.
ChkDecimalNumbers(txtNo,e,2,3)
Parameter : Textbox , KeyPressEventArgs , Number of Digits before Decimal & Number of Digits After Decimal
Output :22.987
Asc(x.KeyChar) = 8 : It Represent BackSpace

    Code :
    Shared Sub ChkDecimalNumbers(ByVal ctxt As TextBox, ByVal x As System.Windows.Forms.KeyPressEventArgs, ByVal bfrDec As Int16, ByVal aftDec As Int16)
        If (Char.IsControl(x.KeyChar) Or Char.IsDigit(x.KeyChar) = True) Or x.KeyChar = "." Or Asc(x.KeyChar) = 8 Then
            If ctxt.Text.IndexOf(".") <> -1 Then
                If x.KeyChar = "." Then
                    x.Handled = True
                End If
                If ctxt.SelectionStart >= 0 And Asc(x.KeyChar) <> 8 Then
                    If (((Mid(ctxt.Text, ctxt.Text.IndexOf(".") + 1).Length > aftDec And ctxt.SelectionStart > ctxt.Text.IndexOf(".")) Or (Mid(ctxt.Text, 1, ctxt.Text.IndexOf(".") + 1).Length > bfrDec And ctxt.SelectionStart < selectionlength = 0))) Then
                        x.Handled = True
                    End If
                End If
            Else
                If (aftDec = 0 And x.KeyChar = ".") Or (((Mid(ctxt.Text, 1).Length > bfrDec - 1 And x.KeyChar <> "." And Asc(x.KeyChar) <> 8) Or (ctxt.SelectionStart > bfrDec And x.KeyChar.ToString.Equals("."))) And ctxt.SelectionLength = 0) Then
                    x.Handled = True
                End If
            End If
        Else
            x.Handled = True
        End If
    End Sub 

Common Function to Check the TextBox is blank or not

Parameter : Textbox, & TextBox Description
Output : Returns False, Popup the Message like "Name Can Not Be Blank."

Code :
    Shared Function ChkBlank(ByVal CTxt As TextBox, ByVal CTxtNam As String) As Boolean
        If Len(CTxt.Text.Trim()) > 0 Then
            CTxt.Text = UCase(CTxt.Text)
            Return True
        Else
            MessageBox.Show(CTxtNam & " Can Not Be Blank", "Notification", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            CTxt.Focus()
            Return False
        End If
    End Function