js验证日期格式

原文地址为: js验证日期格式

下面介绍两种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:

<script type="text/javascript">
function check()
{ alert("sss");
var date = document.getElementById("TextBox1").value;
var result = date.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(-)(10|12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(11|0?[469])(-)(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(0?2)(-)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(-)(0?2)(-)(29)$)|(^([3579][26]00)(-)(0?2)(-)(29)$)|(^([1][89][0][48])(-)(0?2)(-)(29)$)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(^([1][89][2468][048])(-)(0?2)(-)(29)$)|(^([2-9][0-9][2468][048])(-)(0?2)(-)(29)$)|(^([1][89][13579][26])(-)(0?2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?2)(-)(29)$))/);
if(result==null)
{
alert("请输入正确的日期格式");
return false;
}

}
</script>

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;
}

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

 


转载请注明本文地址: js验证日期格式
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值