js 判断日期格式

JavaScript08

js 判断日期格式,第1张

functionisDate(dateString){

if(dateString.trim()=="")returntrue

varr=dateString.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/)

if(r==null){

alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例  如:2008-08-08\n\r")

returnfalse

}

vard=newDate(r[1],r[3]-1,r[4])

varnum = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4])

if(num==0){

alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例  如:2008-08-08\n\r")

}

return(num!=0)

}

 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])

}

这个,如果你接触过java,或者是sql语句的话就知道表示日期有很多格式(先不说分隔符多,光不同国家的标准来说也有很多),而且如果应用的话会根据需要判断某个字符串是否符合日期格式,所以无法给出答案。

不过用js判断日期除了你知道日期的格式,然后自己编写字符串处理及判断的方法以外,还有就是“正则表达式”(在字符串匹配中,这个非学不可)了。

我给你找了几个你看哪个是你需要的。

http://blog.csdn.net/weilee2009/article/details/8566962

http://hi.baidu.com/love5love/item/7fb622bb18b1afd084dd7993