npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

happy-utils

v1.4.0

Published

共用函数库,提取出大部分业务需要的共用的函数。

Downloads

85

Readme

happy-utils

共用函数库,提取出大部分业务需要的共用的函数。

happy-utils的定位是一个共用函数库,提取出大部分业务需要的共用的函数。


npm install --save happy-utils

一、使用

使用方法类似于lodash,需要使用哪个函数,只引用当前函数。

const { getCurrentDay } = require('happy-utils/date')
或
const hu = require('happy-utils')
hu.dateUtils.getCurrentDay()
或
const { dateUtils } = require('happy-utils')
dateUtils.getCurrentDay()

二、模块

目前有10个模块:

  • 1.date与日期相关的函数
  • 2.string与字符串相关的函数
  • 3.number与数字计算相关的函数
  • 4.money与金钱相关的函数
  • 5.url与URL相关的函数
  • 6.validate与校验相关的函数
  • 7.device与设备相关的函数
  • 8.network与网络相关的函数
  • 9.storage与存储相关的函数
  • 10.map地图坐标转换

三、文档

3.1:Date日期

dateFormat(value, format):时间戳转日期

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 时间戳 | number | | | | format | 格式化 | string | 1."yyyy-MM-dd hh:mm:ss"2."yyyy年MM月dd日"3."MM/dd/yyyy"4."yyyyMMdd"5."hh:mm:ss" | yyyy-MM-dd hh:mm:ss |

isSameDay(a, b):是否是同一天

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | a | 日期 | Date | | | | b | 日期 | Date | | |

getCurrentDay(time):获取指定时间年月日

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | time | 日期 | Date | | |

getTimestamp(date):日期转时间戳,毫秒

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | date | 日期 | Date | | |

getCurrentWeek(time, language):获取指定时间属于周几

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | time | 日期 | Date | | | | language | 语言 | string | zh, en| zh |

getBeforeDate(num): 获取当前指定的前几天的日期

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | num | 前几天 | number | | |

formatWeek(data): 格式化周几到周几-->"周一至周三、周六、周日"

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | data | 星期几数组 | Array | 例如:[1, 2, 3, 4, 5] | |

formatTimes(data): 格式化时间,几点到几点-->"08:00至20:00、07:00至21:00"

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | data | 时间数组 | Array | 例如:[{"startTime":"08:00","endTime":"20:00"}, {"startTime":"07:00","endTime":"21:00"}] | |

formatPassTime(startTime): 格式化距现在的已过时间--->"刚刚"

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | startTime | 时间 | Date | | |

3.2:string字符串

addZero(num): 如果数字小于10前面自动添加0

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | num | 数字 | number | | |

getDecodeHTMLEntities(str): 获取HTML里的文字内容,此方法只能用于浏览器,服务器环境不能使用

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | str | html字符串 | string | | |

getEscapeText(text): 字符串的转义,将&, <, >, ", '分别转义为&amp;, &lt;, &gt;, &quot;, &#x27;

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | text | text处理前字符串 | string | | |

getUnescapeText(text): 字符串的反转义,将&amp;, &lt;, &gt;, &quot;, &#x27;替换为转义前的符号

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | text | text处理前字符串 | string | | |

makeRandomString(length): 获取随机字母数字混合字符串

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | length | 长度 | number | | 10 |

toCamelCase(str): 下划线格式字符串转为驼峰格式

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | str | 字符串 | string | | |

toSnakeCase(str): 驼峰格式字符串转为下划线格式

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | str | 字符串 | string | | |

mapKeysToCamelCase(value): 将Object的key从下划线格式字符串转为驼峰格式

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待处理对象或数组 | Object 或 Array | | |

mapKeysToSnakeCase(value): 将数组或者对象里的key从驼峰格式字符串转为下划线格式

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待处理对象或数组 | Object 或 Array | | |

3.3:number数字

accAdd(arg1, arg2): 加法函数,用来得到精确的加法结果

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | arg1 | 参数1 | number | | | | arg2 | 参数2 | number | | |

accDiv(arg1, arg2): 除法函数,用来得到精确的除法结果

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | arg1 | 参数1 | number | | | | arg2 | 参数2 | number | | |

accMul(arg1, arg2): 乘法函数,用来得到精确的乘法结果

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | arg1 | 参数1 | number | | | | arg2 | 参数2 | number | | |

accSub(arg1, arg2): 减法函数,用来得到精确的减法结果

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | arg1 | 参数1 | number | | | | arg2 | 参数2 | number | | |

3.4:money金钱

formatLargeNumber(value): 给大数字添加逗号分隔符

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待格式化的值 | number | | |

format(value, cent): 格式化金钱格式,默认是分

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待格式化的金额数字 | number | | | | cent | 是否是分 | boolean | true, false | true |

add(a, b, cent): 计算金钱的加法,返回格式化后的格式,默认是分

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | a | 参数a | number | | | | b | 参数a | boolean | | | | cent | 是否是分 | boolean | true, false | true |

minus(a, b, cent): 计算金钱的相减,返回格式化后的格式,默认是分

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | a | 参数a | number | | | | b | 参数a | boolean | | | | cent | 是否是分 | boolean | true, false | true |

multiply(a, b, cent): 计算金钱的相乘,返回格式化后的格式,默认是分

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | a | 参数a | number | | | | b | 参数a | boolean | | | | cent | 是否是分 | boolean | true, false | true |

toCent(amount): 把字符串转成以分为单位的整数

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | amount | 例如4.90可以转成490 | string | | |

tozhCN(num): 把字符串转成以分为单位的整数

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | num | 例如500.3可以转成伍佰元叁角整 | number 或 string | | |

3.5:url

getParameterByName(name, url): 获取url的参数

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | name | 键 | string | | |

removeParameter(url, parameter): 删除url的参数

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | name | 键 | string | | | | parameter | 参数 | string | | |

obj2UrlString(obj): 对象转url字符串参数

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | obj | 对象 | Object | | |

addParameter(url, obj): 添加url参数

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | url | 地址 | string | | | | obj | 对象 | Object | | |

fullUrl(path, url): 补全url

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | path | 自己填写的路径 | string | | | | url | string | 指定urls的某一个属性 | | |

changeBrowserUrlParameter(obj): 修改当前浏览器的参数

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | obj | 例如:{ "ken": "change" } | Object | | |

3.6:validate校验

isChinaMobile(value): 校验中国手机号

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 手机号码 | string | | |

isChinese(value): 检查字符串是否存在中文

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isDate(value): 判断一个字符串是否是 iso 标准日期

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isEmail(value):校验邮箱

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isIDcard(value): 校验身份证

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isMobile(value): 手机号

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isNumber(value): 校验数字

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isPhone(value): 校验座机号

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isPostalCode(value): 校验验证码

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isQQ(value): 校验腾讯QQ号

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

isUrl(value): 校验URL

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | value | 待检测字符串 | string | | |

3.7:device设备

isWeixin(): 是否微信内置浏览器
getMobileType(): 获取手机类型
getOs(): 获取打开的网页在哪里打开

3.8:network网络

download(href, title): 生成下载

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | href | 路径 | string | | | | title | 名字 | string | | |

3.9:storage存储

setLocalData(key, value): 设置本地存储的值

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | key | 键 | string | | | | value | 值 | string | | |

getLocalData(key): 获取本地存储的值

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | key | 键 | string | | |

setCookie(key, value, days): 设置Cookie

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | key | 键 | string | | | | value | 值 | string | | | | days | 天数 | number | | |

removeCookie(name): 根据name删除cookie

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | key | 键 | string | | |

getCookie(name): 根据name读取cookie

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | key | 键 | string | | |

3.10:map地图

此方法较为特殊,调用方法如下
const { MapTransformer } = require('happy-utils/map')
// 手机坐标转精确坐标
const lnglat = MapTransformer.gpsToGcj(lng, lat)
cosnt lnglatXY = MapTransformer.gpsToBaidu(lng, lat)

3.11:other其它

setTitle(title): 动态设置标题

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | title | 标题 | string | | |


如果需要其他的函数,请联系[email protected]添加,最好可以直接提PR。

如果觉得好用,请在github star 和fork,github地址: https://github.com/cilla123/happy-utils