利用javascript验证输入框中的值是否为日期格式

 

 代码

function IsNotDate(Dateobj){
    
var theDateobj= Dateobj ; //document.getElementById(objID).value;
    if (IsDate(theDateobj.value)== true){
        
return false;
    }
    
else{
        
return true;
    }
    
}
function IsDate( strdate ){
    
if(strdate != ""){

        strdate 
= strdate.replace("-""/");
        strdate 
= strdate.replace("-""/");  //  用正则可替换多个~
        strdate = strdate.replace(".""/");
        strdate 
= strdate.replace(".""/");  
        strdate 
= strdate.replace("/0""/");
        strdate 
= strdate.replace("/0""/"); 

        
var strdateArray = strdate.split("/");
        
if ((strdateArray[0].length !=4)||(strdate.length ==0)){
            
return false
        }

        
var oDate = new Date(strdate);

        
var strYear = new String(oDate.getFullYear());
        
var strMonth = new String(oDate.getMonth() + 1);
        
var strDay = new String(oDate.getDate());
        
var strTestDate = strYear + "/" + strMonth + "/" + strDay;
        
return strdate == strTestDate;
        }
    
else{
        
return true//这里不做空的检查

    }
}

function compareDate(DateOne,DateTwo,Type){ 
//"Type" for "=".

    
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ("-"));
    
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1);
    
var OneYear = DateOne.substring(0,DateOne.indexOf ("-"));

    
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ("-"));
    
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ("-")+1);
    
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ("-"));
    
    
if (Type=="TCK"){
        
if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) <= Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear)){
            
return true;
        }
          
else{
            
return false;
        }
    }

    
else{
        
if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) < Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear)){
            
return true;
        }
        
else{
            
return false;
        }
    }

}

 

================================ 

1、判断是否为年月日时间格式

 

代码
<script>
//去除字符串首尾空格
String.prototype.trim = function()
{
    
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//验证是否为日期
function validator(){  
    
if(isDate(document.all.demo1.value.trim())==false){
     document.all.demo1.select(); 
     
return false;
    }
    
}
/**   
    判断输入框中输入的日期格式是否为 yyyy-mm-dd   或yyyy-m-d
  
*/  
function isDate(dateString){
  
if(dateString.trim()=="")return true;
  
//年月日正则表达式
  var r=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");
   
return false;
  }
        
var d=new Date(r[1],r[3]-1,r[4]);   
  
var num = (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);
  
}  
</script>

 

 

测试是否为年月日时间格式
 
<input type='text' name='demo1'  >
 
<br>
 
<input type='button' name='demo2' value="确定" onclick="validator()" >

 

 

 

 

以上代码实现了验证年月日

 

 

2、判断是否为年月日时分秒时间格式

代码
<script>
//去除字符串首尾空格
String.prototype.trim = function()
{
    
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//验证是否为日期
function validator(){  
    
if(isDate(document.all.demo1.value.trim())==false){
     document.all.demo1.select(); 
     
return false;
    }
    
}
/**   
    判断输入框中输入的日期格式是否为年月日时分秒 即 yyyy-mm-dd hh:mi:ss 
  
*/  
function isDate(dateString){
  
if(dateString.trim()=="")return true;
  
//年月日时分秒正则表达式
  var r=dateString.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); 
        
if(r==null){
   alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例    如:2008-08-08\n\r");
   
return false;
  }
  
var d=new Date(r[1],r[2]-1,r[3],r[4],r[5],r[6]);     
  
var num = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]&&d.getHours()==r[4]&&d.getMinutes()==r[5]&&d.getSeconds()==r[6]);
  
if(num==0){
   alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例    如:2008-08-08\n\r");
  }
  
return (num!=0);
  

</script>

 

 

测试是否为年月日,时分秒的格式

 <input type='text' name='demo1'  >
 
<br>
 
<input type='button' name='demo2' value="确定" onclick="validator()" >

 

 

=================================================================

 

js常用的日期格式验证函数

 

 

代码
// Function Description: 判断输入是否是有效的时间格式 - "HH:MM:SS"

String.prototype.isValidTime=function() 

var result=this.match(/^(\d{1,2})(:)?(\d{1,2})2(\d{1,2})$/); 
if (result==nullreturn false
if (result[1]>24 || result[3]>60 || result[4]>60return false
return true
}
// Function Description: validate - "HH:MM"
 var a = str.match(/^(\d{1,2})(:)?(\d{1,2})$/);
   if (a == null) 
   {
               alert("输入时间格式有误"); 
             return false;
}

if (a[1]>24||a[3]>60)
   {
           alert("输入时间格式有误!");
           return false;
    } 

 

 

String.prototype.isValidDate=function() 

var result=this.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/); if(result==nullreturnfalse
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]);
}

 

 

 

posted on 2010-10-21 14:06  blair0807  阅读(2241)  评论(0)    收藏  举报