<head><title>test</title></head>
<body>
<input id="hour" style="width:2em" value="5" />:<input id="min" style="width:2em" value="20" />
<button id="do">确定</button>
<div id="info" style="display:none">
当前时间:<span id="cur_time"></span><br>
时 间 差:<span id="time_span"></span>
</div>
<script type="text/javascript">
function $(id){ return document.getElementById(id)}
function time_add_sec(secs){
if(secs != 0){ secs = 1}
window.curtime += secs
var span = Math.abs(curtime - starttime)
var cur_time = []
var time_span = []
cur_time[0] = Math.floor(curtime / 3600)
cur_time[1] = Math.floor((curtime % 3600) / 60)
cur_time[2] = Math.floor(curtime % 60)
time_span[0] = Math.floor(span / 3600)
time_span[1] = Math.floor((span % 3600) / 60)
time_span[2] = Math.floor(span % 60)
$("cur_time").innerHTML = cur_time.join(":")
$("time_span").innerHTML = time_span.join(":")
}
function time_span(){
var now = new Date()
var cur_time = []
cur_time[0] = now.getHours()
cur_time[1] = now.getMinutes()
cur_time[2] = now.getSeconds()
window.curtime = cur_time[0]*3600+cur_time[1]*60+cur_time[2]
window.starttime = $("hour").value*3600+$("min").value*60
time_add_sec(0)
$("info").style.display = "block"
setInterval(time_add_sec,1000)
}
window.onload=function (){ $("do").onclick = time_span}
</script>
</body>
</html>
这个算法占用系统资源相当少了,跳动应该是你电脑卡吧,我的电脑一点问题都没有。
var regex = /^(19|20)\d{2}((0\d{1})|10|11|12)$/、//下面的数字你可以改成用户输入的数字
//年份范围从1900-2099之间。如果满足则弹出true,否则false
alert(regex.test("201203"))
function checkDate(d){da=d.split("\/")
if(da.length!=3){
return false//不符合格式
}
da[0]=da[0]>49? "19"+da[0]:"20"+da[0]//根据年份设置为yyyy格式
var nd=new Date()
nd.setDate(da[2])
nd.setMonth(parseInt(da[1]-1))
nd.setYear(da[0])
if(nd>new Date()) {
return false//当前日期之后
}
else{
return true
}
}
使用方法:
checkDate(用户输入的日期)
如:checkDate(“13/01/15”)
返回值:符合要求则返回true,不符合返回false