This is a discussion on How do you check if a date is valid? within the HTML, CSS and Javascript Coding Techniques forums, part of the Web Development category; Hi all... How do you check if a date is valid? Thanks......
| |||||||
| Register | FAQ | Members List | Calendar | Mark Forums Read |
| |||
| Hi all... <script language="JavaScript"><!-- function y2k(number) { return (number < 1000) ? number + 1900 : number; } function isDate (day,month,year) { // checks if date passed is valid // will accept dates in following format: // isDate(dd,mm,ccyy), or // isDate(dd,mm) - which defaults to the current year, or // isDate(dd) - which defaults to the current month and year. // Note, if passed the month must be between 1 and 12, and the // year in ccyy format. var today = new Date(); year = ((!year) ? y2k(today.getYear()):year); month = ((!month) ? today.getMonth():month-1); if (!day) return false var test = new Date(year,month,day); if ( (y2k(test.getYear()) == year) && (month == test.getMonth()) && (day == test.getDate()) ) return true; else return false } if (isDate(31,2,1997)) document.write("Valid"); else document.write("Invalid"); //--></script> Thanks.... |
| |||
| Example Correct Date Formate <form id="test_form" action="get" method="/checkdatejavascript" onsubmit="return(check_form(this)); return false;"> <select name="dateday" id="dateday"> <option value="1">1</option> […] </select> <select name="datemonth" id="datemonth"> <option value="0">January</option> […] </select> <select name="dateyear" id="dateyear"> <option value="2006">2006</option> […] </select> </form> function check_form() { var day = document.getElementById('dateday').value; var month = document.getElementById('datemonth').value; var year = document.getElementById('dateyear').value; // This instruction will create a date object source_date = new Date(year,month,day); if(year != source_date.getFullYear()) { alert('Year is not valid!'); return false; } if(month != source_date.getMonth()) { alert('Month is not valid!'); return false; } if(day != source_date.getDate()) { alert('Day is not valid!'); return false; } return true; } Thanks Sathian.K |
| |||
| <html> <head> <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) 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 } 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> |
| |||
| function isDate(dateStr) { var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/; var matchArray = dateStr.match(datePat); // is the format ok? if (matchArray == null) { alert("Please enter your birth date as dd/mm/yyyy. Your current selection reads: " + dateStr); return false; } day = matchArray[1]; // p@rse date into variables month = matchArray[3]; year = matchArray[5]; if (month < 1 || month > 12) { // check month range alert("Month must be between 1 and 12."); return false; } if (day < 1 || day > 31) { alert("Day must be between 1 and 31."); return false; } if ((month==4 || month==6 || month==9 || month==11) && day==31) { alert("Month "+month+" doesn`t have 31 days!"); return false; } if (month == 2) { // check for february 29th var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day > 29 || (day==29 && !isleap)) { alert("February " + year + " doesn`t have " + day + " days!"); return false; } } return true; // date is valid } function checkForValidDate(){ var ddlVMonth = document.getElementById("_ctl0_DropDownListMaanden "); var ddlVDay = document.getElementById("_ctl0_DropDownListDagen") ; var ddlVYear = document.getElementById("_ctl0_DropDownListJaren") ; if (!isDate(ddlVDay.value + '/' + ddlVMonth.value + '/' + ddlVYear.value)) { return(false); } return(true); }
__________________ Shaalini.S ![]() Be the Best of Whatever you are... |
![]() |
| Thread Tools | |
| Display Modes | |
| |
LinkBacks (?)
LinkBack to this Thread: http://www.discussweb.com/html-css-javascript-coding-techniques/4700-how-do-you-check-if-date-valid.html | |||
| Posted By | For | Type | Date |
| DiscussWeb IT Community - Technical Support and Technology Discussions | This thread | Refback | 12-10-2007 08:55 PM |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Check if a date is valid. | itbarota | HTML, CSS and Javascript Coding Techniques | 3 | 04-10-2008 04:04 PM |
| Check that a string contains a date. | itbarota | HTML, CSS and Javascript Coding Techniques | 2 | 03-11-2008 09:01 PM |
| How can I show the documents last modified date in the format: month, date, year, tim | Pvinothkumar | HTML, CSS and Javascript Coding Techniques | 3 | 12-28-2007 05:58 AM |
| How do you check if a date is valid? | itbarota | HTML, CSS and Javascript Coding Techniques | 4 | 12-19-2007 12:06 AM |
| How to convert a date to a globally accepted date format, in DOT NET 2005? | Archer | C# Programming | 1 | 07-25-2007 03:21 AM |