热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jquery中前台关于日期正确性的校验

近期的项目总结中有一个关于日期控件的,之前的项目中对于日期控件的使用一般会有下面几个情况。(1)当点击可以文本框的时候弹出日历控件的选择画面,手动选择日历控件上的时间。这种做法有个极大的好处就是

近期的项目总结中有一个关于日期控件的,之前的项目中对于日期控件的使用一般会有下面几个情况。

(1) 当点击可以文本框的时候弹出日历控件的选择画面,手动选择日历控件上的时间。这种做法有个极大的好处就是不需要做日期的正确性校验,一般情况也只是比较FROM和TO的关系,保证日期先后顺序的正确性。这个项目中也最常用。

(2) 点击日历符号的时候才弹出日历选择画面,文本框的内容可以手动的输入。这种情况下通常有两种校验方式,一种是在文本框的内容输入后,走js的方法,通过调用日期有效性判断,报出错误信息或者继续下一步的操作。另外一种就是针对文本框的输入内容,限定输入,通过keyup监听输入的内容,然后return想要的内容让一些字符的输入无效。

(3) 对于文本框的输入问题,通常情况下通过输入法的制御来控制只能输入英文字符和数字的制御,需要在后台做相应的代码处理,因为IE的文本框很傻,即使你限制了输入,对于万能的复制粘贴文本框还是无法拒绝的。

另外一个跟这个校验关系不大的,就是文本框的无效设定以后,无效的文本内容是取不到的。通常情况下,都是采用隐藏变量的方法来解决。

日期有效性验证的代码参照下面的代码:

 1 function isValidateDate(date) {
 2      date = $.trim(date);
 3      var reg = /^(\d{4})-(\d{2})-(\d{2})$/;
 4      reg.exec(date);
 5      if (!reg.test(date) && RegExp.$2 <= 12 && RegExp.$3 <= 31) {
 6          return false;
 7      }
 8      var year, month, day;
 9      year = parseInt(date.split("-")[0], 10);
10      mOnth= parseInt(date.split("-")[1], 10);
11      day = parseInt(date.split("-")[2], 10);
12      if (! ((1 <= month) && (12 >= month) && (31 >= day) && (1 <= day))) {
13          return false;
14      }
15      if ((month <= 7) && ((month % 2) == 0) && (day >= 31)) {
16          return false;
17      }
18      if ((month >= 8) && ((month % 2) == 1) && (day >= 31)) {
19          return false;
20      }
21      if (mOnth== 2) {
22          if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) {
23              if (day > 29) {
24                  return false;
25              }
26          } else {
27              if (day > 28) {
28                  return false;
29              }
30          }
31      }
32      return true;
33  }
View Code

 


推荐阅读
  • PHP中元素的计量单位是什么? ... [详细]
  • jQuery插件验证与屏幕键盘功能的集成解决方案
    本文介绍了一种集成了验证功能和屏幕键盘的jQuery插件解决方案。该插件不仅提供了强大的表单验证功能,还引入了一个高度可定制的屏幕键盘,以增强用户体验。通过这一集成方案,开发者可以轻松实现复杂的表单验证逻辑,并为用户提供便捷的输入方式,特别适用于移动设备或特殊输入场景。 ... [详细]
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 本文详细探讨了使用纯JavaScript开发经典贪吃蛇游戏的技术细节和实现方法。通过具体的代码示例,深入解析了游戏逻辑、动画效果及用户交互的实现过程,为开发者提供了宝贵的参考和实践经验。 ... [详细]
  • 在Android应用开发中,实现与MySQL数据库的连接是一项重要的技术任务。本文详细介绍了Android连接MySQL数据库的操作流程和技术要点。首先,Android平台提供了SQLiteOpenHelper类作为数据库辅助工具,用于创建或打开数据库。开发者可以通过继承并扩展该类,实现对数据库的初始化和版本管理。此外,文章还探讨了使用第三方库如Retrofit或Volley进行网络请求,以及如何通过JSON格式交换数据,确保与MySQL服务器的高效通信。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 本文详细介绍了 jQuery 的入门知识与实战应用,首先讲解了如何引入 jQuery 库及入口函数的使用方法,为初学者提供了清晰的操作指南。此外,还深入探讨了 jQuery 在实际项目中的多种应用场景,包括 DOM 操作、事件处理和 AJAX 请求等,帮助读者全面掌握 jQuery 的核心功能与技巧。 ... [详细]
  • 《精通 jQuery》第六章:深入解析与实战应用
    《精通 jQuery》第六章:深入解析与实战应用本章详细探讨了 Ajax 技术的核心机制及其实际应用。Ajax 通过 XMLHttpRequest 对象实现客户端与服务器之间的异步数据交换,从而在不重新加载整个页面的情况下更新部分内容。这种技术不仅提升了用户体验,还提高了应用的响应速度和效率。此外,本章还介绍了如何利用 jQuery 简化 Ajax 操作,并提供了多个实战案例,帮助读者更好地理解和掌握这一重要技术。 ... [详细]
  • 在Python中,通过实现一个便捷的函数来解码Base64编码的数据,并将其转换为数组形式。该函数能够将Base64字符串解码为字节数组,便于进一步处理。例如,可以使用如下代码片段进行解码:`base64_decode_array('6gAAAOsAAAD')`。这为处理二进制数据提供了高效且简洁的方法。 ... [详细]
  • 本文详细解析了如何使用 jQuery 实现一个在浏览器地址栏运行的射击游戏。通过源代码分析,展示了关键的 JavaScript 技术和实现方法,并提供了在线演示链接供读者参考。此外,还介绍了如何在 Visual Studio Code 中进行开发和调试,为开发者提供了实用的技巧和建议。 ... [详细]
  • 探索JavaScript倒计时功能的三种高效实现方法及代码示例 ... [详细]
  • Django框架进阶教程:掌握Ajax请求的基础知识与应用技巧
    本教程深入探讨了Django框架中Ajax请求的核心概念与实用技巧,帮助开发者掌握异步数据交互的方法,提升Web应用的响应速度和用户体验。通过实例解析,详细介绍了如何在Django项目中高效实现Ajax请求,涵盖从基础配置到复杂场景的应用。 ... [详细]
  • 本文深入探讨了 Python Watchdog 库的使用方法和应用场景。通过详细的代码示例,展示了如何利用 Watchdog 监控文件系统的变化,包括文件的创建、修改和删除等操作。文章不仅介绍了 Watchdog 的基本功能,还探讨了其在实际项目中的高级应用,如日志监控和自动化任务触发。读者将能够全面了解 Watchdog 的工作原理及其在不同场景下的应用技巧。 ... [详细]
author-avatar
渺渺珍人较_628
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有