<script type="text/javascript">
function checknow(){
var obj = document.getElementById("dt")
if(!/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(obj.value)) alert("请输入正确的日期时间格式!")
}
</script>
<input type="text" id="dt" value="2016-09-09 11:08:33" />
<input type="button" value="检测" onClick="checknow()" />
以上实例点击检测后无报错,表示格式正确。你故意改错再检测就会出现错误提示了。
如果只需要检测日期或时间,可以自己改一下正则式,应该容易看懂的。
1 短时间,形如 (23:30:06)function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/)
if (a == null) {alert('输入的参数不是时间格式') return false}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("时间格式不对")
return false
}
return true
}
2. 短日期,形如 (2008-09-13)
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/)
if(r==null)return false
var d= new Date(r[1], r[3]-1, r[4])
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4])
}
3 长时间,形如 (2008-09-13 23:30:06)
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/
var r = str.match(reg)
if(r==null)return false
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7])
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7])
}