`
king_tt
  • 浏览: 2232922 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JavaScript共同工具类库jutil

 
阅读更多

由来

  工作中jQuery用的比较多,但jQuery再强大也有些方法是没有的,以前的做法就是东拼西凑,今天终于下定决心把平时用到的一些方法加以整理,这就是jutil的由来。

  当前只有17个方法,涉及到的有Array、HTML、Cookie & localStorage、Date、String。这些方法都采用了原生的JS,不依赖于jQuery。

  都说好的设计是易于理解的,不用过多介绍,而这也是我现在想达到的目标,因此下面的介绍会比较简单,如果大家哪个地方看不明白或有更好的建议,请提出来,我再优化。

Array相关  

  • jutil.arrayDistinct(Array)
  • jutil.arrayIndexOf(Array,Item)

  实现代码如下:

View Code
复制代码
arrayDistinct: function (arr) {
    var tempArr = {};
    for (var i = 0; i < arr.length; i++) {
        if (tempArr[arr[i] + 1]) {
            arr.splice(i, 1);
            i--;
            continue;
        }
        tempArr[arr[i] + 1] = true;
    }
    tempArr = null;
    return arr;
},
arrayIndexOf: function (arr, obj, iStart) {
    if (Array.prototype.indexOf) {
        return arr.indexOf(obj, (iStart || 0));
    }
    else {
        for (var i = (iStart || 0), j = arr.length; i < j; i++) {
            if (arr[i] === obj) {
                return i;
            }
        }
        return -1;
    }
},
复制代码

  第一个方法参考了菜鸟程序员的博文:前端攻城狮学习笔记五:继承、原型、setInterval、数组去重

HTML相关  

  • jutil.htmlEncode(sHtml)
  • jutil.htmlDecode(sHtml)

  实现代码如下:

View Code

  如果有用jQuery,上面代码可以进一步简化为:

View Code

Cookie & localStorage相关

  • jutil.getCookie(sKey)
  • jutil.setCookie(sKey, sValue, iExpireSeconds)
  • jutil.deleteCookie(sKey)
  • jutil.getStorage(sKey)//如果浏览器支持HTML5本地存储(localStorage)优先用本地存储,否则用cookie,下同
  • jutil.setStorage(sKey, sValue, iExpireSeconds)
  • jutil.deleteStorage(sKey)

  实现代码如下:

View Code

Date相关  

  • jutil.daysInFebruary(obj)//obj:数字(如2012)或时间(如new Date())
  • jutil.daysInYear(obj)//obj:数字(如2012)或时间(如new Date())
  • jutil.dateFormat(date, sFormat, sLanguage)//sFormat:yyyy为年,MM为月,DD为日,hh为时,mm为分,ss为秒,MMM为月份,EEE为星期。sLanguage:默认为中文,可以设置成英文(en)
  • jutil.dateDiff(biggerDate, smallerDate)
  • jutil.dateInterval(biggerDate, smallerDate)

  从名子大家可能看不出最后两个方法的区别,这里命名可能是有些问题,大家有没有推荐的?

  dateDiff表示两个时间之间相隔多长时间,返回的是"10分钟"、"2天"等字符串,一般用在要显示"XX分钟前"、"XX天前"时。

  dateInterval表示两个时间精确差(精确到秒),返回的是"1天:1小时:1分钟:1秒"这样的字符串。

  实现代码如下:

View Code

  这里的dateFormat的实现代码参考的是我之前的一篇博客:javascript日期格式化函数,跟C#中的使用方法类似

String相关

  • jutil.replaceURLWithHTMLLinks(sText, bBlank)
  • jutil.getLength(sVal, bChineseDouble)

  这个就比较简单了,直接上代码:

View Code

测试代码

  测试效果:

小结

  后面会继续添加正则方面的内容,本文也会持续更新。目前JS下载链接:http://files.cnblogs.com/artwl/jutil.js

  欢迎使用,欢迎补充,欢迎挑错!

  本文首发博客园:http://www.cnblogs.com/artwl/archive/2012/07/09/2583114.html

分享到:
评论

相关推荐

    PyPI 官网下载 | django-jutil-3.7.13.tar.gz

    描述中的“资源全名:django-jutil-3.7.13.tar.gz”进一步确认了这个包的完整名称和格式,它是一个与Django框架相关的实用工具库。 标签“django”,“python”,“后端”,“开发语言”,“Python库”为我们揭示了...

    jutil:Java 常用工具类。如:数组、集合、日期、文件、转换器等工具类的封装

    版本信息v1.1.61.[BUG] StringUtil.upperCase --&gt; StringUtil.toCapitalize, && 修复转换BUG2.[BUG] StringUtil.lowerCase --&gt; StringUtil.toUncapitalize, && 修复转换BUGv1.1.41.[BUG] FileUtil 修复获取...

    EasyUI扩展方法 + jutil.js

    "jutil.js" 很可能是包含了一系列实用工具函数的JavaScript库,它可能包含字符串操作、数组处理、日期格式化、DOM操作等各种通用功能。这样的工具库在开发中十分常见,因为它能帮助开发者处理各种常见的编程任务,...

    完整单元测测Jutil数据包

    【标题】"完整单元测测Jutil数据包"所指的是一个包含了Junit多个版本的集合,主要用于进行单元测试。Junit是Java编程语言中最广泛使用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的功能...

    Pinyin4jUtil.java

    Pinyin4jUtil 验证姓名与拼音是否一致,自持多音字。 /** * 汉字转换位汉语全拼,英文字符不变,特殊字符丢失 * 支持多音字,生成方式如(重当参:zhongdangcen,zhongdangcan,chongdangcen * ,...

    jutil:用于处理JSON的命令行实用程序

    jutil :从命令行戳入JSON ... 以最简单的形式,jutil接受JSON格式的数据,为您提供了一个针对它运行一些JavaScript的环境,并输出该脚本的返回值。 例如: $ curl -s https://pokeapi.co/api/v2/pok

    PyPI 官网下载 | django-jutil-3.0.8.tar.gz

    `django-jutil`是一个实用工具包,设计用于增强Django项目的功能和效率。版本3.0.8表明这是一个经过多次迭代和改进的稳定版本,开发者对其进行了多方面的优化和bug修复,以确保更好的兼容性和性能。`.tar.gz`扩展名...

    PyPI 官网下载 | django-jutil-2.4.3.tar.gz

    `django-jutil`是一个针对Django框架的实用工具库,它旨在简化Django项目的开发过程,提供一些常用功能和辅助工具。Django是一个强大的开源Web应用框架,基于Python语言,用于快速构建高效、可维护的网站。`django-...

    FTP客户端Java类库 ftp4j

    总之,`ftp4j`为Java开发者提供了一个强大的FTP客户端工具,它简化了FTP操作,使开发者能够快速地在应用程序中集成FTP功能。通过学习和熟练使用`ftp4j`,你可以实现文件的上传、下载、移动、复制和删除等操作,满足...

    web 项目中的各种工具类

    web 项目中的各种工具类 Bean2MapUtil 实体bean的数据转到map中 ...Pinyin4jUtil 提取汉字拼音的工具 StringUtil 字符转换类 UploadQueue 文件上传队列 UUIDGenerator UUID工具 XmlUtils XML读写工具

    java个人开发工具类

    - 日志工具类:如Log4jUtil,用于统一日志记录,便于问题排查。 - 数据库操作工具类:如DBUtil,封装JDBC连接、SQL执行、结果集处理等,简化数据库操作。 - JSON解析工具类:如JsonUtil,提供JSON字符串与Java...

    字符串文件http密码资源文件openoffice图片等工具等

    TesseractOCR使用惠普开发的图像识别类库tesseract-ocr识别图片中的文字,可以用于识别验证码 LogUtil日志工具 AES256Encryption加解密 Base64Util加解密 CompressStringUtil压缩字符串与解压缩字符串 DESUtil加解密...

    dom4j工具类

    而`Dom4jUtil.jar`可能是开发者自定义的DOM4J工具类库,封装了一些常用的操作方法,便于快速集成和使用。 使用DOM4J的基本步骤包括: 1. **导入库**:在Java项目中添加DOM4J的jar包依赖,确保编译和运行时能访问到...

    JUtil:Java的常用工具类包括Excel导入,正则表达式验证,图片处理,Http请求等,导入到nexus仓库豪华套餐,无需下载源码,添加maven依赖即可使用

    朱蒂尔 Java的常用工具类包括Excel导入,正则表达式验证,图片处理,Http请求等,导入到nexus仓库豪华套餐,无需下载源码,添加maven依赖即可使用 欢迎各位踊跃提问题,用得...更多扩展除工具提供的校验类外,您还可以

    dom4j 工具类 使用例子

    在这个"dom4j工具类使用例子"中,我们将深入探讨如何利用DOM4J进行XML处理。 首先,`Dom4jUtil.java`可能是包含DOM4J实用方法的类。这个类可能包括了创建、查询、修改XML文档的各种静态方法。例如,可能会有用于...

    FusionChart 工具类

    FusionCharts是一款强大的数据可视化工具,它通过JavaScript和HTML5技术将数据转化为生动的图表,广泛应用于数据分析和信息展示。本篇文章将详细讲解与"FusionChart 工具类"相关的知识,主要关注`FusionChartUtil....

    opslabJutil-2.0.3.jar

    #Java Utils 封装了一些常用Java操作方法,便于重复开发利用。

    jutil8:一组有用的 java8 类和函数

    jutil8 一组有用的 java8 类和函数。它大量使用 lambda 类型和泛型,并提供可在各种情况下通用的函数。目的是为了减少对具体操作的不必要描述,并整齐地组织代码。 功能 目前可用的功能有: ArrayUtil 类 一个实用...

    java中文转全拼工具类分享

    Java中的中文转全拼工具类主要是用来处理汉字到拼音的转换,这在许多应用场景中非常有用,例如搜索引擎优化(SEO)、关键词分析、自动文本摘要等。在这个特定的工具类中,开发者使用了开源库`pinyin4j`来实现这个...

Global site tag (gtag.js) - Google Analytics