JavaScript验证开始与结束日期差值的方法

作者:代码拾荒

时间:2026-10-30

浏览:319

本文介绍利用JavaScript验证开始与结束日期的具体实现。通过解析日期字符串计算时间差,校验是否超过一年且结束日期晚于开始日期,提供完整代码与错误处理逻辑供参考。

文章目录

JavaScript验证开始与结束日期差值的方法

本文介绍一种使用JavaScript获取并验证开始与结束日期的方法。


function validation()
{
var startdate=document.getElementById("start_tenancyDate_s").value;
var enddate=document.getElementById("end_tenancyDate_s").value;
var datesent=dateDiff(enddate,startdate);
if(startdate=="")
{
alert("请选择开始日期!");
return false;
}
if(enddate=="")
{
alert("请选择结束日期!");
return false;
}
if(datesent>365)
{
alert("选择的日期差超过最大值1年!");
return false;
}
if(datesent<0)
{
alert("选择的日期有误,结束日期必须大于开始日期!");
return false;
}
else{return true;}
}
//调用该方法(主方法)
function dateDiff(date1, date2){
  var type1 = typeof date1, type2 = typeof date2;
  if(type1 == 'string')
  date1 = stringToTime(date1);
  else if(date1.getTime)
  date1 = date1.getTime();
  if(type2 == 'string')
  date2 = stringToTime(date2);
  else if(date2.getTime)
  date2 = date2.getTime();
  return (date1 - date2) / (1000 * 60 * 60 * 24);//除1000是毫秒,不加是秒
}
//字符串转成Time(dateDiff)所需方法
function stringToTime(string){
  var f = string.split(' ', 2);
  var d = (f[0] ? f[0] : '').split('-', 3);
  var t = (f[1] ? f[1] : '').split(':', 3);
  return (new Date(
  parseInt(d[0], 10) || null,
  (parseInt(d[1], 10) || 1)-1,
  parseInt(d[2], 10) || null,
  parseInt(t[0], 10) || null,
  parseInt(t[1], 10) || null,
  parseInt(t[2], 10) || null
  )).getTime();
}

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript时间与日期操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章