Date problems in Safari Browser only

I

ipy2006

Only in Safari browser the current year shows as 1970. Also "Non digits
found in year" is triggered in the Safari broswer. Please help.
Thanks,
Yasaswi

function verifyYear( field )
{
var _x = field.value;

var _exp = new RegExp(/^\d+$/);
var _test=_exp.test(_x);

var _currentDate = new Date();

var yy = _currentDate.getUTCFullYear();

alert("entered year is : " + _x + " current year is : " + yy );

if(_x.length!=4) {
alert("Please enter four digit year.");
return false;
}
else if(!_test) {
alert("Non digits found in year.");
return false;
}
else if( _x > yy ) {
alert("You entered a year in the future. Please enter valid year."
);
return false;
}
else {
return true;
}

}
 
E

Evertjan.

ipy2006 wrote on 26 dec 2006 in comp.lang.javascript:
Only in Safari browser the current year shows as 1970. Also "Non
digits found in year" is triggered in the Safari broswer. Please help.
Thanks,
Yasaswi

function verifyYear( field )
{
var _x = field.value;

var _exp = new RegExp(/^\d+$/);
var _test=_exp.test(_x);

var _currentDate = new Date();

var yy = _currentDate.getUTCFullYear();

alert("entered year is : " + _x + " current year is : " + yy );

if(_x.length!=4) {
alert("Please enter four digit year.");
return false;
}
else if(!_test) {
alert("Non digits found in year.");
return false;
}
else if( _x > yy ) {
alert("You entered a year in the future. Please enter valid
year."
);
return false;
}
else {
return true;
}

}

I don't know Safari,
but .getUTCFullYear() should be valid from Safari 1.2.


You make a rather complex code,
with al those spurious "else" clauses after a return.
[Please do not use tab chars in a code on usenet]
try:


function verifyYear( field ) {
var x = field.value;
var y = new Date().getUTCFullYear();
alert("entered year is : " + x + " current year is : " + y );

if( x.length != 4 ) {
alert("Please enter four digit year.");
return false;
};

if(/[^\d]/.test(x)) {
alert("Non digits found in year.");
return false;
};

if( x > y ) {
alert("You entered a year in the future. Please enter valid year.");
return false;
};

return true;
}
 
D

Dr J R Stockton

In comp.lang.javascript message <[email protected]
Only in Safari browser the current year shows as 1970.

Then you should alert(_currentDate) to see what you are getting.
Also "Non digits
found in year" is triggered in the Safari broswer.

Then you should alert(_x) to see what you are getting.
function verifyYear( field )
{
var _x = field.value;

var _exp = new RegExp(/^\d+$/);

or. reversing logic, /\D/
var _test=_exp.test(_x);

var _currentDate = new Date();

var yy = _currentDate.getUTCFullYear();

alert("entered year is : " + _x + " current year is : " + yy );

Entered year is by local civil time. Current year is UTC. They should,
generally, not be compared.
if(_x.length!=4) {
alert("Please enter four digit year.");
return false;
}
else if(!_test) {
alert("Non digits found in year.");
return false;
}
else if( _x > yy ) {
alert("You entered a year in the future. Please enter valid year."
);
return false;
}
else {
return true;
}

}

An "else" is nor needed after "if ... return ...".
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top