1. /***********
  2. *时间辅助类
  3. ***********/
  4. var DateHelper = {
  5. //得到两个时间的差值(天数)
  6. DateDiff: function (startDate, endDate) {
  7. var strSeparator = "-"; //日期分隔符
  8. var oDate1;
  9. var oDate2;
  10. var iDays;
  11. oDate1 = startDate.split(strSeparator);
  12. oDate2 = endDate.split(strSeparator);
  13. var strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2]);
  14. var strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2]);
  15. iDays = parseInt(Math.abs(strDateS - strDateE) / 1000 / 60 / 60 / 24)//把相差的毫秒数转换为天数
  16. return iDays;
  17. },
  18. //比较时间大小
  19. DateCompare: function (startDate, endDate) {
  20. var result = false;
  21. if (new Date(endDate) > new Date(startDate)) {
  22. result = true;
  23. }
  24. return result;
  25. }
  26. };
  27. /***********
  28. *常用验证类
  29. ***********/
  30. var Validator = {
  31. // 中文
  32. isChinese: function (s) {
  33. var p = /^[\u4e00-\u9fa5]+$/;
  34. return this.test(s, p);
  35. },
  36. // 英文
  37. isEnglish: function (s) {
  38. var p = /^[A-Za-z]+$/;
  39. return this.test(s, p);
  40. },
  41. // 邮箱
  42. isEmail: function (s) {
  43. var p = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
  44. return this.test(s, p);
  45. },
  46.  
  47. // 手机号码
  48. isMobile: function (s) {
  49. return this.test(s, /(\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{3,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$/);
  50. },
  51. // 电话号码
  52. isPhone: function (s) {
  53. return this.test(s, /^[0-9]{3,4}\-[0-9]{7,8}$/);
  54. },
  55. // 邮编
  56. isPostCode: function (s) {
  57. return this.test(s, /^[1-9][0-9]{5}$/);
  58. },
  59. // 数字
  60. isNumber: function (s, d) {
  61. return !isNaN(s.nodeType == 1 ? s.value : s) && (!d || !this.test(s, '^-?[0-9]*\\.[0-9]*$'));
  62. },
  63. // 判断是否为空
  64. isEmpty: function (s) {
  65. return jQuery.isEmptyObject(s) || (s == "" ? true : false);
  66. },
  67. //判断是否是图片
  68. isImage: function (s) {
  69. return this.test(s, /\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/);
  70. },
  71. // 正则匹配
  72. test: function (s, p) {
  73. s = s.nodeType == 1 ? s.value : s;
  74. return new RegExp(p).test(s);
  75. }
  76. };
  77.  
  78. //去除字符串头尾空格或指定字符
  79. String.prototype.Trim = function (c) {
  80. if (c == null || c == "") {
  81. var str = this.replace(/^s*/, '');
  82. var rg = /s/;
  83. var i = str.length;
  84. while (rg.test(str.charAt(--i)));
  85. return str.slice(0, i + 1);
  86. }
  87. else {
  88. var rg = new RegExp("^" + c + "*");
  89. var str = this.replace(rg, '');
  90. rg = new RegExp(c);
  91. var i = str.length;
  92. while (rg.test(str.charAt(--i)));
  93. return str.slice(0, i + 1);
  94. }
  95. }
  96.  
  97. //去除字符串头部空格或指定字符
  98. String.prototype.TrimStart = function (c) {
  99. if (c == null || c == "") {
  100. var str = this.replace(/^s*/, '');
  101. return str;
  102. }
  103. else {
  104. var rg = new RegExp("^" + c + "*");
  105. var str = this.replace(rg, '');
  106. return str;
  107. }
  108. }
  109.  
  110. //去除字符串尾部空格或指定字符
  111. String.prototype.trimEnd = function (c) {
  112. if (c == null || c == "") {
  113. var str = this;
  114. var rg = /s/;
  115. var i = str.length;
  116. while (rg.test(str.charAt(--i)));
  117. return str.slice(0, i + 1);
  118. }
  119. else {
  120. var str = this;
  121. var rg = new RegExp(c);
  122. var i = str.length;
  123. while (rg.test(str.charAt(--i)));
  124. return str.slice(0, i + 1);
  125. }
  126. }
  1. //修改字符长度,超过者以...代替
  2. String.prototype.FixedLenth = function (lenth, ext) {
  3. var str = this;
  4.  
  5. if (length == null || length == "") {
  6. length = 10;
  7. }
  8.  
  9. if (ext == null || ext == "") {
  10. ext = "..";
  11. }
  12.  
  13. if (str.length > length) {
  14. str = str.substring(0, 10) + ext;
  15. }
  16.  
  17. return str;
  18. }

平时常用的工具类,会持续维护此工具类

常用JS工具包的更多相关文章

  1. 常用js方法

    function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...

  2. 常用JS正则表达式

    常用JS正则表达式 收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水 ...

  3. 常用js方法整理common.js

    项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...

  4. 原生JS研究:学习jquery源码,收集整理常用JS函数

    原生JS研究:学习jquery源码,收集整理常用JS函数: 1. JS获取原生class(getElementsByClass) 转自:http://blog.csdn.net/kongjiea/ar ...

  5. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  6. 常用js正则表达式大全

    常用js正则表达式大全.一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和 ...

  7. api日常总结:前端常用js函数和CSS常用技巧

    我的移动端media html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font- ...

  8. web前端关于html转义符的常用js函数

    web前端关于html转义符的常用js函数 //去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+? ...

  9. 基础常用JS函数和语法

    100多个基础常用JS函数和语法集合大全  来源:http://www.cnblogs.com/hnyei/p/4605103.html 网站特效离不开脚本,javascript是最常用的脚本语言,我 ...

随机推荐

  1. python的解释器spython介绍

    Python解释器spython介绍 简介 出于个人爱好和某种需求,我再16年对python的解释器产生了浓厚兴趣,并且下定决心重新实现一个版本.我个人再游戏服务器开发中,对c++嵌入lua和pyth ...

  2. H5缓存-Manifest

    在app中更新h5页面一直有缓存问题.默认什么都不做的情况下,app有一定的空间缓存页面.一开始更新之后会马上加载,等到app缓存空间上来之后更新就无法下载了.安卓能够清理缓存空间,ios就只能卸载重 ...

  3. 条件查询php

    页面1.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  4. windows 安装 Scrapy的套路

    我最近在琢磨scrapy爬虫框架,在windows中安装scrapy遇到了不少坑:直接 pip install scrapy 安装不成功的,百度说要安装vc2008+等等,安装这些时间太长,最后找到一 ...

  5. 项目架构开发:数据访问层之UnitOfWork

    接上文 项目架构开发:数据访问层之IQuery 本章我们继续IUnitOfWork的开发,从之前的IRepository接口中就可以看出,我们并没有处理单元事务, 数据CUD每次都是立即执行的,这样有 ...

  6. ActiveMQ学习系列(四)----消息持久化到mysql

    前记:目前学习还比较杂乱,还未找到系统化地学习ActiveMq的方法.在网上看到消息持久化的demo,了解了一下,在此记录. 一.目前ActiveMq支持的持久化方法 url:http://activ ...

  7. 技术分享,学术报告presentation 常用的承接句

    前言 现在即使是搞技术,做科研的,也需要在不同的场合,用ppt来做分享,做汇报,做总结. 如果国际会议,研讨会,或者在外企,国外工作,英文的presentation就更加必不可少.英语的提升需要大家从 ...

  8. (九)javaScript的基本使用

    <script type="text/javascript"> var userName; var userAge; function interInfo(){ use ...

  9. ionic的安装

    一.学习一样新的框架的步骤: 1.先找到人家的网站, 一个个点过来看看 2.我们前端的框架,分css与js 3.先学css 再学js 4.要学会复制黏贴代码, 实际演练代码的效果 二.ionic环境安 ...

  10. 用TTL线在CFE环境下拯救半砖wrt54g路由器

    缘起:路由器被刷成半砖 Linksys wrt54gs v4路由器,已刷入 tomato-dualwlan 1.23.使用数年,未出现任何故障. 在日用的wifi网络上,通过web界面刷入了错误的to ...