欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

js验证日期格式

shiping1 的头像
 

JS判断日期格式是否合法

 10431人阅读 评论(0) 收藏 举报
 分类:

类似于PHP中的Checkdate。

 

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

 

 

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

 

 

  1. function toDateFromString( strDate )  
  2. {  
  3. if (strDate.length != 8) {  
  4. return null ;  
  5. }  
  6. var dtDate = null ;  
  7. var nYear = parseInt( strDate.substring( 0, 4 ), 10 ) ;  
  8. var nMonth = parseInt( strDate.substring( 4, 6 ), 10 ) ;  
  9. var nDay = parseInt( strDate.substring( 6, 8 ), 10 ) ;  
  10. if( isNaN( nYear ) == true || isNaN( nMonth ) == true || isNaN( nDay ) == true )  
  11. {  
  12. return null ;  
  13. }  
  14. dtDate = new Date( nYear, nMonth - 1, nDay ) ;  
  15. if( nYear != dtDate.getFullYear() || ( nMonth - 1 ) != dtDate.getMonth() || nDay != dtDate.getDate() )  
  16. {  
  17. return null ;  
  18. }  
  19. return dtDate ;  
  20. }  
  21. YYYYMMDD的格式  
来自 http://blog.csdn.net/weilee2009/article/details/8566962


下面介绍两种JS验证的方式:

方法一:

JS:

复制代码
<script language="javascript"> 
function check(){
var a = /^(\d{4})-(\d{2})-(\d{2})$/
if (!a.test(document.getElementById("TextBox1").value)) { 
alert("日期格式不正确!") 
return false 
} 
else 
return true 
} 
</script> 
复制代码

HTML:

 <div>
        <asp:TextBox ID="TextBox1" runat="server" onblur="check();"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" />
 </div>

 

上面的方法是验证YYYY-MM-DD日期格式,不能验证“2012-11-45”之类的不正确的日期

方法二:

JS:

HTML:

<div>
        <asp:TextBox ID="TextBox1" runat="server" onblur="check();"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </div>

这个方法验证的比较全面

补充一个方法,方法三:

JS

复制代码
        function RQcheck(RQ) {
            var date = RQ;
            var result = date.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]);

        }

function CheckAdd() {
            var ret = true;
            if (!RQcheck($id("txt_LLRQ").value)) {
                alert("请输入正确的日期");
                return false;
            }
            return ret;
        }
复制代码

此方法实现效果和方法二相同

来自 http://www.cnblogs.com/fuge/archive/2012/07/22/2604018.html

 

js判断时间格式是否有效!

 (2009-07-07 13:43:46)
标签: 

杂谈

 

js判断时间格式是否有效!

写代码时日期时间格式的判断是常有的,挺有用的.收集一下:


1 短时间,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('输入的参数不是时间格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("时间格式不对");
return false
}
return true;
}

2. 短日期,形如 (2008-07-22)
function strDateTime(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]);
}

3 长时间,形如 (2008-07-22 13:04:06)
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}

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


普通分类: