1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | <html> <head> </head> <body> <SCRIPT LANGUAGE= "JavaScript1.2" > <!-- function myDateValidation() { var lre = /^\s*/; var datemsg = "" ; var inputDate = document.as400samplecode.myDate.value; inputDate = inputDate.replace(lre, "" ); document.as400samplecode.myDate.value = inputDate; datemsg = isValidDate(inputDate); if (datemsg != "" ) { alert(datemsg); return ; } else { //Process your form } } function isValidDate(dateStr) { var msg = "" ; // Checks for the following valid date formats: // MM/DD/YY MM/DD/YYYY MM-DD-YY MM-DD-YYYY // Also separates date into month, day, and year variables // To require a 2 & 4 digit year entry, use this line instead: //var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/; // To require a 4 digit year entry, use this line instead: var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; var matchArray = dateStr.match(datePat); // is the format ok? if (matchArray == null ) { msg = "Date is not in a valid format." ; return msg; } month = matchArray[1]; // parse date into variables day = matchArray[3]; year = matchArray[4]; if (month < 1 || month > 12) { // check month range msg = "Month must be between 1 and 12." ; return msg; } if (day < 1 || day > 31) { msg = "Day must be between 1 and 31." ; return msg; } if ((month==4 || month==6 || month==9 || month==11) && day==31) { msg = "Month " +month+ " doesn't have 31 days!" ; return msg; } if (month == 2) { // check for february 29th var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day>29 || (day==29 && !isleap)) { msg = "February " + year + " doesn't have " + day + " days!" ; return msg; } } if (day.charAt(0) == '0' ) day= day.charAt(1); //Incase you need the value in CCYYMMDD format in your server program //msg = (parseInt(year,10) * 10000) + (parseInt(month,10) * 100) + parseInt(day,10); return msg; // date is valid } // --> </SCRIPT> <form name= "as400samplecode" > Enter Date: <input type= "text" name= "myDate" size=10 maxlength=10> ( in MM/DD/YYYY format) <input type= "button" value= "validate Date" onclick= "Javascript:myDateValidation()" > </form> </body> </html> |
All one can think and do in a short time is to think what one already knows and to do as one has always done!
Javascript Validate a Date String in HTML form
The following Javascript function worked for me, so wanted to share with anyone who is looking for the same. Here is a demo for you to Test and the sample code.
No comments:
Post a Comment
NO JUNK, Please try to keep this clean and related to the topic at hand.
Comments are for users to ask questions, collaborate or improve on existing.