我正在尝试进行日期验证。
我的要求是用户不应该能够选择过去的日期和时间。它工作正常,直到我更改本地电脑的日期和时间。
我正在将用户选择的日期和时间与 javascript 的 new Date()
对象进行比较,但发现它从本地计算机的日期中获取日期。因此,如果用户更改他的本地计算机日期(将其设置为过去的日期),那么他将能够选择过去的日期。
任何服务器端(Java)解决方案也是可以接受的。也尝试一下,但是 Java 的日期对象(java.util.date)也会从本地计算机的日期中获取日期,所以运气不好。
谢谢。
最佳答案
为此,您应该从服务器获取日期和时间。
serverDateTime.js
var xmlHttp;
function srvTime(){
try {
//FF, Opera, Safari, Chrome
xmlHttp = new XMLHttpRequest();
}
catch (err1) {
//IE
try {
xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (err2) {
try {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (eerr3) {
//AJAX not supported, use CPU time.
alert("AJAX not supported");
}
}
}
xmlHttp.open('HEAD',window.location.href.toString(),false);
xmlHttp.setRequestHeader("Content-Type", "text/html");
xmlHttp.send('');
return xmlHttp.getResponseHeader("Date");
}
var st = srvTime();
var date = new Date(st);
HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Server date/time</title>
<script language="javascript" src="serverDateTime.js"></script>
</head>
<script language="javascript">
var localTime = new Date();
document.write("Local machine time is: " + localTime + "<br>");
document.write("Server time is: " + date);
</script>
<body>
</body>
</html>
希望它能起作用。 来源:webdeveloper
关于javascript - JavaScript 中的日期和时间验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38563816/