一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

js日期格式判断代码

时间:2011-07-08 编辑:简简单单 来源:一聚教程网

/** 
    判断输入框中输入的日期格式为yyyy-mm-dd和正确的日期 
  */ 
  function   IsDate(sm,mystring)   { 
      var   reg   =   /^(d{4})-(d{2})-(d{2})$/; 
      var   str   =   mystring; 
      var   arr   =   reg.exec(str); 
      if   (str=="")   return   true; 
      if   (!reg.test(str)&&RegExp.$2<=12&&RegExp.$3<=31){ 
        alert("请保证"+sm+"中输入的日期格式为yyyy-mm-dd或正确的日期!"); 
        return   false; 
        } 
        return   true; 
    }  


方法二


//---------------------------------------------------------------------------
//判断日期格式是否正确
//返回值是错误信息, 无错误信息即表示合法日期字符串
function isDateString(strDate){
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
var ErrorMsg = ""; //出错信息
strDateArray = strDate.split(strSeparator);
//没有判断长度,其实2008-8-8也是合理的//strDate.length != 10 ||
if(strDateArray.length != 3) {
ErrorMsg += "日期格式必须为: yyyy-MM-dd";
return ErrorMsg;
}
intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) {
ErrorMsg += "日期格式错误: 年月日必须为纯数字";
return ErrorMsg;
}
if(intMonth>12 || intMonth<1) {
ErrorMsg += "日期格式错误: 月份必须介于1和12之间";
return ErrorMsg;
}
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7
||intMonth==8||intMonth==10||intMonth==12)
&&(intDay>31||intDay<1)) {
ErrorMsg += "日期格式错误: 大月的天数必须介于1到31之间";
return ErrorMsg;
}
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)
&&(intDay>30||intDay<1)) {
ErrorMsg += "日期格式错误: 小月的天数必须介于1到31之间";
return ErrorMsg;
}
if(intMonth==2){
if(intDay < 1) {
ErrorMsg += "日期格式错误: 日期必须大于或等于1";
return ErrorMsg;
}
boolLeapYear = false;
if((intYear%100) == 0){
if((intYear%400) == 0)
boolLeapYear = true;
}
else{
if((intYear % 4) == 0)
boolLeapYear = true;
}
if(boolLeapYear){
if(intDay > 29) {
ErrorMsg += "日期格式错误: 闰年的2月份天数不能超过29";
return ErrorMsg;
}
} else {
if(intDay > 28) {
ErrorMsg += "日期格式错误: 非闰年的2月份天数不能超过28";
return ErrorMsg;
}
}
}
return ErrorMsg;
}

方法三

//函数名:CheckDateTime    
//功能介绍:检查是否为日期时间  
function   CheckDateTime(str){  
        var   reg   =   /^(d+)-(d{1,2})-(d{1,2})   (d{1,2}):(d{1,2}):(d{1,2})$/;  
        var   r   =   str.match(reg);  
        if(r==null)return   false;  
        r[2]=r[2]-1;  
        var   d=   new   Date(r[1],   r[2],r[3],   r[4],r[5],   r[6]);  
        if(d.getFullYear()!=r[1])return   false;  
        if(d.getMonth()!=r[2])return   false;  
        if(d.getDate()!=r[3])return   false;  
        if(d.getHours()!=r[4])return   false;  
        if(d.getMinutes()!=r[5])return   false;  
        if(d.getSeconds()!=r[6])return   false;  
        return   true;
}

其它

String.prototype.isValidTime=function()
{
var resule=this.match(/^(d{1,2})(:)?(d{1,2})2(d{1,2})$/);
if (result==null) return false;
if (result[1]>24 || result[3]>60 || result[4]>60) return false;
return true;
} String.prototype.isValidDate=function()
{
var result=this.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/);
if(result==null) return false;
var d=new Date(result[1], result[3]-1, result[4]);
return (d.getFullYear()==result[1]&&d.getMonth()+1==result[3]&&d.getDate()==result[4]);
}

更多详细内容请查看:http://www.111com.net/wy/99/33223.htm

热门栏目