首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

IsDate() in JavaScript

2012-11-25 
IsDate() in JavaScript?原帖地址:http://www.codetoad.com/forum/17_10053.asp我筛选了,大致的方法有以下

IsDate() in JavaScript?
原帖地址:http://www.codetoad.com/forum/17_10053.asp
我筛选了,大致的方法有以下几个。

function myIsDate(mystring){//--BOF var mystring, myresult ;var mystring = new Date(mystring);isNaN(mystring)? myresult=false : myresult=true ;return myresult ;//--EOF}//我的测试  alert(IsDate('2009/10/10'));  //true  alert(IsDate('2010/07/00'));  //true  alert(IsDate('2009/02/30'));  //true  alert(IsDate('200k/10/10'));  //false  alert(IsDate('2009/13/10'));  //true  alert(IsDate('200k-10-10'));  //false//失败

function isDate (value){return (!isNaN (new Date (value).getYear () ) ) ;}//我的测试  alert(IsDate('2009/10/10'));  //true  alert(IsDate('2010/07/00'));  //true  alert(IsDate('2009/02/30'));  //true  alert(IsDate('200k/10/10'));  //false  alert(IsDate('2009/13/10'));  //true  alert(IsDate('200k-10-10'));  //false//失败

// 这个可以,稍微改改,加上匹配'2010-01-10'就好了。// ******************************************************************// This function accepts a string variable and verifies if it is a// proper date or not. It validates format matching either// mm-dd-yyyy or mm/dd/yyyy. Then it checks to make sure the month// has the proper number of days, based on which month it is.// The function returns true if a valid date, false if not.// ******************************************************************function isDate(dateStr) {var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;var matchArray = dateStr.match(datePat); // is the format ok?if (matchArray == null) {alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");return false;}month = matchArray[1]; // p@rse date into variablesday = matchArray[3];year = matchArray[5];if (month < 1 || month > 12) { // check month rangealert("Month must be between 1 and 12.");return false;}if (day < 1 || day > 31) {alert("Day must be between 1 and 31.");return false;}if ((month==4 || month==6 || month==9 || month==11) && day==31) {alert("Month "+month+" doesn`t have 31 days!")return false;}if (month == 2) { // check for february 29thvar isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));if (day > 29 || (day==29 && !isleap)) {alert("February " + year + " doesn`t have " + day + " days!");return false;}}return true; // date is valid}

function IsDate(dateval){    var arr = new Array();    if(dateval.indexOf("-") != -1){        arr = dateval.toString().split("-");    }else if(dateval.indexOf("/") != -1){        arr = dateval.toString().split("/");    }else{        return false;    }    //yyyy-mm-dd || yyyy/mm/dd    if(arr[0].length==4){        var date = new Date(arr[0],arr[1]-1,arr[2]);        if(date.getFullYear()==arr[0] && date.getMonth()==arr[1]-1 && date.getDate()==arr[2]){            return true;        }    }    //dd-mm-yyyy || dd/mm/yyyy    if(arr[2].length==4){        var date = new Date(arr[2],arr[1]-1,arr[0]);        if(date.getFullYear()==arr[2] && date.getMonth()==arr[1]-1 && date.getDate()==arr[0]){            return true;        }    }    //mm-dd-yyyy || mm/dd/yyyy    if(arr[2].length==4){        var date = new Date(arr[2],arr[0]-1,arr[1]);        if(date.getFullYear()==arr[2] && date.getMonth()==arr[0]-1 && date.getDate()==arr[1]){            return true;        }    }    return false;}  alert(IsDate('2009/10/10'));  //true  alert(IsDate('2010/07/00'));  //false  alert(IsDate('2009/02/30'));  //false  alert(IsDate('200k/10/10'));  //false  alert(IsDate('2009/13/10'));  //false  alert(IsDate('200k-10-10'));  //false  alert(IsDate('2000-02-29'))   //true  alert(IsDate('2100-02-29'))   //true//就是你了

//匹配//yyyy-mm-dd || yyyy/mm/dd  function isDate(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]); } //这个也行!

热点排行