前端时间写了个简单的 JQuery验证时间段的插件,起始时间必须小于等于截至时间
函数原型
function validateTimePeriod(begin,end)
begin,end 可以为DOM对象,也可以为JQuery对象。
返回值:
true: 起始时间小于截至时间
false: 不满足起始时间小于等于截至时间
函数源码:
// 查询校验,校验起始时间必须小于截至时间 function validateTimePeriod(begin, end) { if (!(begin instanceof jQuery)) { begin = $(begin); } if (!(end instanceof jQuery)) { end = $(end); } var beginString = new String(begin.val()); var endString = new String(end.val()); if (!(beginString == null || beginString == '') && !(endString == null || endString == '')) { // alert(beginString instanceof String); //JavaScripy判断一个对象是否是String类型 // alert(typeof beginString); //typeof String 类型 返回的是 Object // //转换为JavaScript日期类型 // var bArray = beginString.split(/[- :]/); // var beginTime = new Date(bArray[0], bArray[1]-1, bArray[2], // bArray[3], bArray[4]); // var eArray = endString.split(/[- :]/); // var endTime= new Date(eArray[0], eArray[1]-1, eArray[2], eArray[3], // eArray[4]); var beginTime = new Date(beginString); var endTime = new Date(endString); if (beginTime <= endTime) { return true; } else { return false; } } return true; }
调用示例:
$("#search").click(function(){ var result = validateTimePeriod(document.getElementById("startTime"),$("#endTime")); //验证是否起始时间小于等于截至时间 if(result!=true){ tipsTimePeriod($("#timePeriodTips"),"请确保起始时间小于截至时间"); return false; } });
需要用到的知识
1.JavaScript 的 Date对象
http://blog.csdn.net/u010003835/article/details/51075163
2.JQuery与DOM对象之间的相互转换
http://blog.csdn.net/u010003835/article/details/51083427
判断是否是JQuery对象
if(!(begin instanceof jQuery)){ begin = $(begin); }