87,992
社区成员
发帖
与我相关
我的任务
分享<form method="POST" action=""> <p>查询日期(yyyymmddhh):<br>
从<input type="text" name="DateFrom" size="20" onblur="fun(this)"><br>
到<input type="text" name="DateTo" size="20" onblur="fun(this)"></p><p>
</form>
<script type="text/javascript">
function fun(obj){
if(!isDate(obj.value)){
alert("日期格式错误!");
obj.value="";
}
}
function isDate(str){
var reg = /^(\d{4})(\d{2})(\d{2})(\d{2})$/;
var result = str.match(reg);
if(result == null||parseFloat(result[4])>23)return false;
var t=result[1]+","+parseFloat(result[2])+","+parseFloat(result[3]);
var d = new Date(result[1],result[2]-1,result[3]);
var newStr = d.getFullYear()+","+parseFloat(d.getMonth()+1)+","+parseFloat(d.getDate());
return t == newStr;
}
</script>function IsValidDate(DateStr)
{
var sDate=DateStr.replace(/(^\s+|\s+$)/g,''); //去两边空格;
if(sDate=='') return true;
//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为''
//数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
var s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,'');
if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
{
var t=new Date(sDate.replace(/\-/g,'/'));
var ar = sDate.split(/[-/:]/);
if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
{
//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
return false;
}
}
else
{
//alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。');
return false;
}
return true;
} 选择时间:<input editable="false" name="StartTime" id="StartTime" style="width: 150px"
class="easyui-datebox" type="text" /><span style="margin: 2px">至</span>
<input name="EndTime" id="EndTime" editable="false" style="width: 150px" class="easyui-datebox" type="text" />
在easyui里有日历控件,你单纯用文本框的话,验证起来忒麻烦了