前端时间写了个简单的 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);
}