URGENT Age / date of birth validation

Posted on 2009-12-17
Last Modified: 2013-11-19

I could really use some help. I am using Classic ASP to develop this.  Can you please help me, I am pretty new to web development?

<input name="SpouseAge" class="text-body" id="SpouseAge" onkeypress ="checkDate(this)" size="8" maxlength="8"> (mm/dd/yy)

I  need to do the two items shown below:
1. Get the users age
2. Make sure they are 18 - 64 years old
3. Make sure they enter a valid DOB in the mm/dd/yy format.
Question by:NewMom2Brandon
    LVL 7

    Expert Comment

    if you write a onkeypress event, every single keypress the validation function will be triggered. No one can write his/her age on a single keypress.

    Use onblur event
    LVL 18

    Accepted Solution

    Here ur Task :

    Hope it Helps ..

    Meeran 03 :)

    <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){
    	// 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)
    	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)
    	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
    return true
    function age(bDay){
    	if (isDate(bDay.value)==false){
    		return false
     now = new Date()
     born = new Date(bDay.value);
      years = Math.floor((now.getTime() - born.getTime()) / (365.25 * 24 * 60 * 60 * 1000));
    if (years >=18 && years <=64 )
    alert("Ur Eligible")
    alert("Your Age  should be between 18-64");
    bDay (mm/dd/yyyy): 
    <input name="bDay" id="bDay" type=text onBlur="age(this)">

    Open in new window

    LVL 2

    Author Closing Comment

    Thank you So much for your help!

    I really appreciate it!

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Why You Should Analyze Threat Actor TTPs

    After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

    The first time you look at a web page and its source code, you are probably a little intimidated by the use of symbols and jargon that really looks foreign to you. You might not even know where to start to begin learning what it all means. That’…
    Problem to be resolved in this article Currently, development of website and web application can be done without writing thousands of lines of programming code by hand. Description This can be done through by using a open source framework such …
    Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
    The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    10 Experts available now in Live!

    Get 1:1 Help Now