JavaScript Date Validation

Feb 8, 2003

Recently while messing with dates, I noticed an odd quirk in javascript with new Date(), i.e. if someone enters an invalid date, such as 2/29/2003, javascript creates the new date as 3/1/2003.

Having a look around, I couldn't find any scripts that took advantage of this for the sake of date validation... probably someone here has done this before, but I'll post it anyway.

The idea is that if javascript creates a new Date() with a different month, then obviously the date entered is not valid. Most of the scripts I saw used some math to divide by leap year, yadda yadda yadda, but with this feature (?) of javascript, it seems unnecessary.

Right now this code only validates mm/dd/yyyy, but it should be easy to modify to support other formats:


function isDate(sDate) {
var re = /^d{1,2}/d{1,2}/d{4}$/
if (re.test(sDate)) {
var dArr = sDate.split("/");
var d = new Date(sDate);
return d.getMonth() + 1 == dArr[0] && d.getDate() == dArr[1] && d.getFullYear() == dArr[2];
}
else {
return false;
}
}


Here's a shorter version that works if you pass in the values separately:


function isDate(mm,dd,yyyy) {
var d = new Date(mm + "/" + dd + "/" + yyyy);
return d.getMonth() + 1 == mm && d.getDate() == dd && d.getFullYear() == yyyy;
}

View 3 Replies


ADVERTISEMENT

JQuery :: Validation Plugin: Date Validation?

Sep 13, 2011

How to add regular expression in jquery.validate.js for date in 'dd.mm.yyyy.' format???

View 1 Replies View Related

Numeric Date Validation

Jul 23, 2005

It has appeared that ancient sources give a method for Numeric Date
Validation that involves numerous tests to determine month length;
versions are often posted by incomers here. That sort of code seems
unnecessarily long.

For some while, the following approach has been given here :-

function ValidDate(y, m, d) { // m = 0..11 ; y m d integers, y!=0
with (new Date(y, m, d))
return (getMonth()==m && getDate()==d) }

and it may remain the shortest code. But it does require, in every
case, the creation and disposal of a Date Object.

The following is about 50% longer in code, but about four times faster
in my system - and it seems to be right, too.

function DateOK(Y, M, D) {
return D>0 && (D<=[,31,28,31,30,31,30,31,31,30,31,30,31][M] ||
D==29 && M==2 && Y%4==0 && (Y%100>0 || Y%400==0) ) }

Note that checking for 1 <= M <= 12 is inherent, and that the Leapness
of the year is only determined if the date given is February 29th.

Also, it is easy to use only the quadrennial rule if it is certain that
dates are in 1901-2099, or only two rules for 2001-2399.

View 30 Replies View Related

JScript Date Validation

Dec 27, 2007

I have a form input that takes a date in the format MM/DD/YYYY.

I would like to validate this input using Javascript in two fashions:

1. I need to check that the format of the input is 'MM/DD/YYYY' with the month day and year being numeric

2. I need to also check that the 'MM/DD/YYYY' being input is later than today + 2 days (i.e. if today is 12/27/07, then the input must be 12/29/07 or greater)

View 3 Replies View Related

Date Validation - 2 Scripts

Dec 6, 2005

I have a $credit refund page that runs 2 date scripts. The first to input and format today's date for the date the form is sent:

function prefileDate(){
todaysDate = new Date;

month = todaysDate.getMonth();
if(month < 10){
month = "0" + (month +1);
} else { month++;}

day = todaysDate.getDate();
if(day < 10){
day = "0" + day;}

year = todaysDate.getYear();

document.getElementById("Date").value = month + "/" + day + "/" + year; }

The second script needs to run on 5 other date fields as an onblur call - BUT - I need this to also validate that the date entered is an older date that the "today's date" referred to in the above script. EX: the form is being sent on 12/5/05. the expdate below needs to be 12/6/05 or later. Code:

View 2 Replies View Related

Date Of Birth Validation - JS Or PHP?

Sep 1, 2011

I was wondering if there is possibly an "onBlurr" or "onChange" way I can check using JavaScript if a Birth date is correct I've seen a couple but I have a pretty simplistic way about how I want to get it done.Basically what I would like to do is check the months and check if they've entered an incorrect date for them (I will be using the 3 drop down boxes method).

so if a users selects 30-31 for feb i want it to check the minute its changed for either one in order to notify the user that its an invalid birth date, which would apply for all months totalling 30 days.also the same for the leap year of feb if its 29 but the year is not divisible by 4 then the date is still invalid

View 5 Replies View Related

Date Validation Not Executing?

Dec 4, 2011

My age verification is not running. I believe I wrote the argument correctly, but no dice.

<script type="text/javascript">
function CheckForm()
{

[code]....

View 1 Replies View Related

Date Comparison Validation

Sep 29, 2005

I have 2 textbox for Date input: Start Date and End Date I have javascript onsubmit="return fieldCheck()" to check all the required fields are not empty.

My problem is that i want to throw below javascript to check that End Date cannot be earlier than the Start Date. It works if both dates are in the same month, and if they are different month or day, then it's not working properly

d1_str = document.form.txtEndDate.value;
d2_str = document.form.txtStartDate.value;

d1 = new Date(d1_str.split('/')[2],d1_str.split('/')[1],d1_str.split('/')[0]);
d2 = new Date(d2_str.split('/')[2],d2_str.split('/')[1],d2_str.split('/')[0]);

if (d1.getTime()<d2.getTime()) {
emptyfields += "
End Date can't be earlier than Start Date" ; //this is the error msg
}

View 3 Replies View Related

Date Entry Validation Gets Stuck?

Jun 23, 2011

I have a CF application that accepts two dates. The first date - Out Date - is required. The second date - Return Date - is optional, but if populated, must be equal to or greater than the Out Date. Here's the screen & code:

9974
<script type="text/javascript">
function compareDate()
{ if(document.editleave.temp_ret_date.value != "01/01/0001")[code]....

Everything works fine....EXCEPT...if the Return Date is invalid, I cannot click on the calendar box to select a date (or open another browser session). Basically, IE is locked up until the user manually types in a valid date.This ain't good.I want to be able to trap the error, just like I have, but I still want the calendar selection box to be usable.Is it possible to "reset" the error condition after the intial warning to only trigger on the onSubmit parameter?

View 3 Replies View Related

Cfinput With Date Validation - Catch Changes ?

Jun 12, 2010

I have a cfform with the following (partial) structure:

Code:

I'm written a simple script that sees if the user has entered a start date in the StartDate field, and automatically populates the EndDate field with that value:

Code:

This script works just fine when entering values directly into the input field. However, it does NOT work when using the Calendar popup that ColdFusion helpfully adds when using date validation. When you click on the calendar icon to the right of the input field, a calendar popup appears; once you click on a date, the date is entered into the field. Unfortunately, JavaScript does not recognize that anything has happened.

This is problematic because the date popup is the easiest way to enter a valid date, and the one that I automatically use, and which I assume that other users will gravitate to as well.

View 9 Replies View Related

Date Validation Function (Month / Day And Year)

Apr 17, 2003

I am working on a series of functions that I keep getting asked about. The following three scripts do this:
--Date Validation
--Calculate Difference Between Dates
--Date Addition or Subtraction

I am sure that these have been done before, but I just filled the last 20 minutes by coding these. I only did a quick browser test, nothing extensive.
<script>
//Date Validation
function DateValid(mo, dy, yr){
TheDate = mo+"/"+dy+"/"+yr;
Date1 = new Date(TheDate)
D=Date1.getDate();
M=Date1.getMonth()+1;
Y=Date1.getYear();
[Code] .....

View 3 Replies View Related

JQuery :: Validation Plugin's Date Method Doesn't Like Mm-dd-yyyy Formatted Dates?

Jul 14, 2009

I'm using this validation plugin alidation/and it is great.However, it rejects dates like 07-14-2009 as invalid. Is there someway to add a list of valid formats?If not, should I write my own method to match that particlar format?

View 1 Replies View Related

JQuery :: Changing Datepicker's Date Format Of Selected Date From Date Picker

Mar 16, 2011

I am having difficulty trying to change the format of selected date from date picker. This is a test so my code is very simple. Here it is.

[Code]....

View 1 Replies View Related

Problem With Javascript Date()

Nov 15, 2005

I have written a javascript to compare current date with the date that user has entered in the form. the user enters in YYYY-MM-DD format. here'z the code:

var today= new Date();
var stDate= new Date(document.form[0].startDate.value);
var day=0; var month=0; var year=0;
var todayStr;
day= today.getDate();
month= today.getMonth()+1;
year= today.getFullYear();
todayStr= new Date(year + "-" + month + "-" + day);
alert(todayStr);
if(todayStr>stDate)
{ alert("Current date is greater");}

but todayStr gives NaN . and comparison gives no result.

View 16 Replies View Related

Displaying Date Using Javascript

May 14, 2006

I am trying to use javascript code so that on loading of a webpage, the page displays the day, date, month and year words. So far I have come up with the following but it doesnt seem to be working: Code:

View 3 Replies View Related

Validating Date W/ Javascript

Oct 23, 2001

Im trying to validate my date textbox on my form to only allow mm/dd/yy. If the user enters anything else in I want it to display an error message and focus on the date textbox. Ive looked at many sample scripts with no luck. Anyone out there done this before, and possibly still have the code?

View 2 Replies View Related

Javascript Date Subtractor

Jun 7, 2006

I have a date function that subtract a certain amount of days from todays date.

Code:
function printDate(offset)
{

var offsetAmount= offset
var currentTime= new Date()
var month= currentTime.getMonth() + 1
var day= currentTime.getDate()
var nDay= day - offsetAmount
var year= currentTime.getFullYear()

document.write(nDay + "/" + month + "/" + year)

}
I need it to be able to recognise when it goes into a previous month (ie instead of 0/6/2006 it will go to 31/5/2006)

View 3 Replies View Related

JavaScript Date Validator.

Jun 14, 2007

Is there any function in JavaScript which validates the date format like isNaN() for numbers? Or have anyone made such function which validates the date entered in the text box i.e. dd-mm-yyyy or yyyy-mm-dd or mm-dd-yyyy or dd/mm/yyy or mm/dd/yyyy or yyyy/mm/dd are only the valid dates??

View 1 Replies View Related

JQuery :: Date Range - Start Date And End Date Text Boxs

Feb 6, 2010

I have a start date and end date text boxs. What I would like to achieve is when a submit button is clicked all the available dates between start and end dates should be displayed together with 3 check boxes next to each date (please see below). I am just wondering whether that'sachievablewith jquery, and if so, how I might be able to implement this.

Start date End date

View 8 Replies View Related

Javascript Default Date Is One Month Off

Dec 6, 2005

I just noticed that all my javascript months are off by one month.....didn't test multiple systems tho and my system date is fine.

Any way of fixing this?

View 2 Replies View Related

Javascript Equivalent For Vbscript Date()-1

Mar 28, 2007

I'm looking to return DATE ONLY for yesterday's date. No seconds,
milliseconds. Formatted either yyyy/mm/dd or mm/dd/yyyy. VB does it so
easily Date()-1 will return 03/27/2007 if today is 03/28/2007. Why so
many hoops for javascript? Any ideas?

View 21 Replies View Related

How Do I Format The Last-Modified Date With Javascript?

May 7, 2007

Apparently, ` new Date() ` reads it correctly, though problems
can occur if the browser returns only two digits for the year.
In particular, time zone, field order and separators may vary.
It is also reliant on the server's clock having been correctly
set at the time of upload. See the URL below.

View 1 Replies View Related

Port Of PHP's Date() Function To Javascript

Dec 7, 2002

Okay, this an attempt to port PHP's date() function as much as possible to JavaScript. Could use some refactoring though. Any critique, comments, appraisal and any other opinion is very welcome. Feel free to discuss and also take a look at beetles code here: http://www.codingforums.com/showthread.php?s=&threadid=11069

Oh, and the date() function is described here: http://www.php.net/manual/en/function.date.php


Date.prototype.monthNames = new Array(
"January", "February", "March", "April",
"May", "June", "July", "August",
"September", "October", "November", "December"
);


Date.prototype.dayNames = new Array(
"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"
);


Date.prototype.format = function (formatStr) {
var heap = formatStr.split("");
var resHeap = new Array(heap.length);
var escapeChar = ""; // you can change this to something different, but
// don't use a character that has a formatting meaning,
// unless you want to disable it's functionality

// go through array and extract identifiers from its fields
for (var i = 0; i < heap.length; i++) {
switch(heap[i]) {
case escapeChar:
resHeap[i] = heap[i+1];
i++;
break;

case "a": // "am" or "pm"
var temp = this.getHours();
resHeap[i] = (temp < 12) ? "am" : "pm";
break;

case "A": // "AM" or "PM"
var temp = this.getHours();
resHeap[i] = (temp < 12) ? "AM" : "PM";
break;

case "d": // day of the month, 2 digits with leading zeros; i.e. "01" to "31"
var temp = String(this.getDate());
resHeap[i] = (temp.length > 1) ? temp : "0" + temp;
break;

case "D": // day of the week, textual, 3 letters; i.e. "Fri"
var temp = this.dayNames[this.getDay()];
resHeap[i] = temp.substring(0, 3);
break;

case "F": // month, textual, long; i.e. "January"
resHeap[i] = this.monthNames[this.getMonth()];
break;

case "g": // hour, 12-hour format without leading zeros; i.e. "1" to "12"
var temp = this.getHours();
resHeap[i] = (temp <= 12) ? temp : (temp - 12);
break;

case "G": // hour, 24-hour format without leading zeros; i.e. "0" to "23"
resHeap[i] = String(this.getHours());
break;

case "h": // hour, 12-hour format; i.e. "01" to "12"
var temp = String(this.getHours());
temp = (temp <= 12) ? temp : (temp - 12);
resHeap[i] = (temp.length > 1) ? temp : "0" + temp;
break;

case "H": // hour, 24-hour format; i.e. "00" to "23"
var temp = String(this.getHours());
resHeap[i] = (temp.length > 1) ? temp : "0" + temp;
break;

case "i": // minutes; i.e. "00" to "59"
var temp = String(this.getMinutes());
resHeap[i] = (temp.length > 1) ? temp : "0" + temp;
break;

case "I": // "1" if Daylight Savings Time, "0" otherwise. Works only on the northern hemisphere
var firstDay = new Date(this.getFullYear(), 0, 1);
resHeap[i] = (this.getTimezoneOffset() != firstDay.getTimezoneOffset()) ? (1) : (0);
break;

case "J": // day of the month without leading zeros; i.e. "1" to "31"
resHeap[i] = this.getDate();
break;

case "l": // day of the week, textual, long; i.e. "Friday"
resHeap[i] = this.dayNames[this.getDay()];
break;

case "L": // boolean for whether it is a leap year; i.e. "0" or "1"
resHeap[i] = (this.getFullYear() % 4) ? false : true;
break;

case "m": // month; i.e. "01" to "12"
var temp = String(this.getMonth() + 1);
resHeap[i] = (temp.length > 1) ? temp : "0" + temp;
break;

case "M": // month, textual, 3 letters; i.e. "Jan"
resHeap[i] = this.monthNames[this.getMonth()];
break;

case "n": // month without leading zeros; i.e. "1" to "12"
resHeap[i] = this.getMonth() + 1;
break;

case "O": // Difference to Greenwich time in hours; i.e. "+0200"
var minZone = this.getTimezoneOffset();
var mins = minZone % 60;
var hour = String(((minZone - mins) / 60) * -1);

if (hour.charAt(0) != "-") {
hour = "+" + hour;
}

hour = (hour.length == 3) ? (hour) : (hour.replace(/([+-])(d)/, "$1" + 0 + "$2"));
resHeap[i] = hour + mins + "0";
break;

case "r": // RFC 822 formatted date; e.g. "Thu, 21 Dec 2000 16:01:07 +0200"
var dayName = this.dayNames[this.getDay()].substr(0, 3);
var monthName = this.monthNames[this.getMonth()].substr(0, 3);
resHeap[i] = dayName + ", " + this.getDate() + " " + monthName + this.format(" Y H:i:s O");
break;

case "s": // seconds; i.e. "00" to "59"
var temp = String(this.getSeconds());
resHeap[i] = (temp.length > 1) ? temp : "0" + temp;
break;

case "S": // English ordinal suffix for the day of the month, 2 characters; i.e. "st", "nd", "rd" or "th"
var temp = this.getDate();
var suffixes = ["st", "nd", "rd"];
var suffix = "";

if (temp >= 11 && temp <= 13) {
resHeap[i] = "th";
} else {
resHeap[i] = (suffix = suffixes[String(temp).substr(-1) - 1]) ? (suffix) : ("th");
}
break;


case "t": // number of days in the given month; i.e. "28" to "31"
resHeap[i] = this.getDay();
break;

/*
* T: Not implemented
*/

case "U": // seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
// remember that this does not return milisecs!
resHeap[i] = Math.floor(this.getTime() / 1000);
break;

case "w": // day of the week, numeric, i.e. "0" (Sunday) to "6" (Saturday)
resHeap[i] = this.getDay();
break;


case "W": // ISO-8601 week number of year, weeks starting on Monday
var startOfYear = new Date(this.getFullYear(), 0, 1, 0, 0, 0, 0);
var firstDay = startOfYear.getDay() - 1;

if (firstDay < 0) {
firstDay = 6;
}

var firstMonday = Date.UTC(this.getFullYear(), 0, 8 - firstDay);
var thisDay = Date.UTC(this.getFullYear(), this.getMonth(), this.getDate());
resHeap[i] = Math.floor((thisDay - firstMonday) / (1000 * 60 * 60 * 24 * 7)) + 2;
break;

case "y": // year, 2 digits; i.e. "99"
resHeap[i] = String(this.getFullYear()).substring(2);
break;

case "Y": // year, 4 digits; i.e. "1999"
resHeap[i] = this.getFullYear();
break;

case "z": // day of the year; i.e. "0" to "365"
var firstDay = Date.UTC(this.getFullYear(), 0, 0);
var thisDay = Date.UTC(this.getFullYear(), this.getMonth(), this.getDate());
resHeap[i] = Math.floor((thisDay - firstDay) / (1000 * 60 * 60 * 24));
break;

case "Z": // timezone offset in seconds (i.e. "-43200" to "43200").
resHeap[i] = this.getTimezoneOffset() * 60;
break;

default:
resHeap[i] = heap[i];
}
}

// return joined array
return resHeap.join("");
}

View 3 Replies View Related

Javascript For Converting Given Date To The Required Timezone

Jul 20, 2005

I have date(ex., Thu, 04 Dec 2003 10:35:19 +0500) and I know the
timezone(ex., America/Anchorage). Now I need to convert the date into
the given timezone. Is it possible to achieve this thru js api's?

View 1 Replies View Related

Date Of Birth Validation Function Needed To Add To Existing Function

Mar 24, 2006

I have a function I call to see if people leave form fields empty. I have been asked by a client to check to make sure of the person's date of birth as well. They gave me the script, however, I am unsure how to do implement it. How do I add this to my existing checks? Code:

View 2 Replies View Related

Javascript To Display Current Date (and Back Dates)

Jul 23, 2005

I've browsed through past usenet archives, but can't seem to come across quite the javascript I'm looking for. I'm looking for a simple javascript that will display the date as such:

May 17

So basically, just displaying the current month and the current date. But I would also like the ability to backdate by one day, two days, etc.. So the next date might look as such:

May 15

Which would be two days earlier than today's date, but in keeping with the same format.

View 3 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved