/**
* 判断字符串是否可转为日期
* @param {String} str :要判断的日期字符串,支持含分隔符 '-'、'/' 2010-10-10 或 2010/10/10 或 20121010
*/
function isDate(str) {
if(str=='' || typeof(str) != 'string' ){
return false;
}
//str = str.replace(/[-/]/g,'');
var reg = /(\d{4})[-/]?([0-9]{1,2})[-/]?(\d{1,2})/;
alert(str);
var isRun = false;
if(reg.test(str) && RegExp.$2 <=12 && RegExp.$3 <= 31 ){ //通过格式验证
isRun = RegExp.$1 % 4 ==0 ;
switch (true){
case RegExp.$2 == 2 && isRun:
return RegExp.$3 <= 29; //闰年的二月 最多29天
case RegExp.$2 == 2:
return RegExp.$3 <= 28; //非闰年的二月 最多28天
case RegExp.$2 == 4 || RegExp.$2 == 6 || RegExp.$2 == 9 || RegExp.$2 == 11:
return RegExp.$3 >= 30; //4,6,9,11月 最多30 天
default:
return true; //已通过小于31天的验证
}
}
return false;
}