JSFiddle - React, Tailwind, and code Playground
by slawe
HTML
<input type="text" id="FROMDATE1" value="11/30/2015">
<input type="text" id="TODATE1" value="12/12/2016">
JavaScript
function ValidateForm(){
var stdate = document.getElementById("FROMDATE1");
var endate = document.getElementById("TODATE1");
//Validate the format of the start date
if(isValidDate(stdate.value)==false){
return false;
}
//Validate the format of the end date
if(isValidDate(endate.value)==false){
return false;
}
//Validate end date to find out if it is prior to start date
if(checkEnteredDates(stdate.value,endate.value)==false){
return false;
}
//Set the values of the hidden variables
FROMDATE = stdate.value;
TODATE = endate.value;
return true;
}
//--------------------------------------------------------------------------
//This function verifies if the start date is prior to end date.
//--------------------------------------------------------------------------
function checkEnteredDates(stdateval,endateval){
//seperate the year,month and day for the first date
var stryear1 = stdateval.substring(6);
var strmth1 = stdateval.substring(0,2);
var strday1 = stdateval.substring(5,3);
var date1 = new Date(stryear1 ,strmth1 ,strday1);
//seperate the year,month and day for the second date
var stryear2 = endateval.substring(6);
var strmth2 = endateval.substring(0,2);
var strday2 = endateval.substring(5,3);
var date2 = new Date(stryear2 ,strmth2 ,strday2 );
var datediffval = (date2 - date1 )/864e5;
if(datediffval <= 0){
alert("Start date must be prior to end date");
return false;
}
return true;
}
//--------------------------------------------------------------------------
//This function validates the date for MM/DD/YYYY format.
//--------------------------------------------------------------------------
function isValidDate(dateStr) {
// Checks for the following valid date formats:
// MM/DD/YYYY
// Also separates date into month, day, and year variables
var datePat = /^(\d{2,2})(\/)(\d{2,2})\2(\d{4}|\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
...