javascript中的日期和时间验证

Date and time validation in javascript

本文关键字:时间 验证 日期 javascript      更新时间:2023-09-26

我正在尝试进行日期验证。

我的要求是用户不能选择过去的日期和时间。在我更改本地电脑的日期和时间之前,它运行良好。

我将用户选择的日期和时间与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