js 判断日期格式

JavaScript012

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)

}

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

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

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

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

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

function strToDate(str) {

 var tempStrs = str.split(" ")

 var dateStrs = tempStrs[0].split("-")

 var year = parseInt(dateStrs[0], 10)

 var month = parseInt(dateStrs[1], 10) - 1

 var day = parseInt(dateStrs[2], 10)

 var timeStrs = tempStrs[1].split("-")

 var hour = parseInt(timeStrs [0], 10)

 var minute = parseInt(timeStrs[1], 10) - 1

 var second = parseInt(timeStrs[2], 10)

 var date = new Date(year, month, day, hour, minute, second)

 return date

}