关于easyui中如何验证日期时间的问题?

daoyuanjiao 2016-07-19 10:17:04
我asp中有一个日期时间框<input class="easyui-validatebox easyui-datetimebox" type="text" name="daodian" id="daodian" value="" required="true" validType="" Onchange="initCuntValidateBox()"></input>
我在“EasyUI的自定义验证规则,验证日期的有效性”(http://blog.csdn.net/foart/article/details/17792027)中发现一个验证函数(如下),但是我不知道怎么引用到我的这个日期框中,进行判断?谢谢!
function checkDateTime(type,datetime,split){
var date = datetime.split(" ")[0];
var time = datetime.split(" ")[1];
//alert(date + '\n' + time)
switch (type){
case "time"://检查时分秒的有效性
var tempArr = time.split(":");
if(parseInt(tempArr[0]) > 23){
return false;
}
if(parseInt(tempArr[1]) > 60 || parseInt(tempArr[2]) > 60){
return false;
}
break;
case "date"://检查日期的有效性
var tempArr = date.split("-");
if(parseInt(tempArr[1]) == 0 || parseInt(tempArr[1]) > 12){//月份
return false;
}
var lastday=new Date(parseInt(tempArr[0]),parseInt(tempArr[1]),0);//获取当月的最后一天日期
if(parseInt(tempArr[2])== 0 || parseInt(tempArr[2]) > lastday.getDate()){//当月的日
return false;
}
var myDate = new Date(parseInt(tempArr[0]),parseInt(tempArr[1])-1,parseInt(tempArr[2]));
if(myDate=="Invalid Date") {
return false;
}
break;
}

return true;
}

/***
@author ganning
EasyUI的自定义日期验证规则
* */
function initCuntValidateBox(){
//自定义验证规则 名称为myDate
$.extend($.fn.validatebox.defaults.rules, {
myDate: {
validator: function (mytime, param) {
//标准时间格式
var regStandard = /^\1|2\d{3}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$/; //匹配标准日期格式 2014-1-20 12:10:00
//日期快速输入格式
var regA =/^\1|2\d{3}-\d{1,2}-\d{1,2}-\d{1,2}-\d{1,2}-\d{1,2}$/; //匹配日期 和 时\分\秒 2014-1-20-12-10-00 意思是2014-1-20 12:10:00
var regB =/^\1|2\d{3}-\d{1,2}-\d{1,2}-\d{1,2}-\d{1,2}$/; //匹配日期 和 时\分 2014-1-20-12-10-00 意思是2014-1-20 12:10
var regC =/^\1|2\d{3}-\d{1,2}-\d{1,2}$/; //匹配日期 2014-1-20
var x = "";

if(!regStandard.test(mytime)){
if(regA.test(mytime)){
var tempArr = mytime.split('-');
x = tempArr[0] + "-" + tempArr[1] + "-" + tempArr[2] + " " + tempArr[3] + ":" + tempArr[4] + ":" + tempArr[5];
/**/
if(!(checkDateTime("date",x) && checkDateTime("time",x))) {
$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误!";
return false;
}
}else
if(regB.test(mytime)){
var tempArr = mytime.split('-');
x = tempArr[0] + "-" + tempArr[1] + "-" + tempArr[2] + " " + tempArr[3] + ":" + tempArr[4] + ":00";
/**/
if(!(checkDateTime("date",x) && checkDateTime("time",x))) {
$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误";
return false;
}
}else
if(regC.test(mytime)){
x = mytime + " 00:00:00";
/**/
if(!checkDateTime("date",x)) {
$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误";
return false;
}
}else{
$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误";
return false;
}
}else{
if(!(checkDateTime("date",mytime) && checkDateTime("time",mytime))) {
$.fn.validatebox.defaults.rules.myDate.message ="日期格式错误";
return false;
}
}
return true;
},
message: ''
}
});
}
...全文
574 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
daoyuanjiao 2016-07-19
  • 打赏
  • 举报
回复
daoyuanjiao 2016-07-19
  • 打赏
  • 举报
回复
我这样设定后<input class="easyui-validatebox easyui-datetimebox" type="text" name="daodian" id="daodian" required="true" validType="myDate" ></input>。我输入错误的时间后,没有任何提示!
Go 旅城通票 2016-07-19
  • 打赏
  • 举报
回复
<input id="rpwd" name="rpwd" type="password" class="easyui-validatebox" required="required" validType="myDate"> http://www.jeasyui.com/documentation/index.php# 具体使用看validatebox这个

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧