You must Sign In to post a response.
  • Category: JavaScript

    Validate the date using javascript

    Date of birth textbox1

    When user types the any string in textbox it would check and shows the message.please type date only it would return false.

    Suppose user typed correctly date means example 25 sep 2015. it would return.

    for that how can i valiate using cSharp.
  • #762540
    Hello Rao,

    Refer the below code :

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title></title>
    <script language = "Javascript">

    var dtCh = "/";
    var minYear = 1900;
    var maxYear = 2100;

    function isInteger(s) {
    var i;
    for (i = 0; i < s.length; 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 < s.length; i++) {
    var c = s.charAt(i);
    if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
    }

    function daysInFebruary(year) {
    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 || month < 1 || month > 12) {
    alert("Please enter a valid month")
    return false
    }
    if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]) {
    alert("Please enter a valid day")
    return false
    }
    if (strYear.length != 4 || year == 0 || year < minYear || year > maxYear) {
    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
    }
    alert("Valid date")
    return true
    }

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

    </script>
    </head>
    <body>
    <form name="frmSample" method="post" action="" onsubmit="return ValidateForm()">
    <p>Enter a Date <font color="#CC0000"><b>(mm/dd/yyyy)</b></font>:
    <input type="text" name="txtDate" maxlength="10" size="15"/></p>
    <p>
    <input type="submit" name="Submit" value="Submit"/>
    </p>
    </form>
    </body>
    </html>

    See the attached image. It's an output i have got using this code.


    Hope this will help you.

    Regards,
    Nirav Lalan
    DNS Gold Member
    "If you can dream it, you can do it."

    Delete Attachment


  • Sign In to post your comments