happy-utils
Version:
共用函数库,提取出大部分业务需要的共用的函数。
423 lines (288 loc) • 14.7 kB
Markdown
# happy-utils
共用函数库,提取出大部分业务需要的共用的函数。
### [happy-utils](https://github.com/cilla123/happy-utils)的定位是一个共用函数库,提取出大部分业务需要的共用的函数。
---
```js
npm install --save happy-utils
```
### 一、使用
使用方法类似于lodash,需要使用哪个函数,只引用当前函数。
```js
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日期](https://github.com/cilla123/happy-utils/blob/master/date/index.js)
##### dateFormat(value, format):时间戳转日期
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| :----: | :----: | :----: |:---- |:----: |
| value | 时间戳 | number | | |
| format | 格式化 | string | 1."yyyy-MM-dd hh:mm:ss"</br>2."yyyy年MM月dd日"</br>3."MM/dd/yyyy"</br>4."yyyyMMdd"</br>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字符串](https://github.com/cilla123/happy-utils/blob/master/string/index.js)
##### addZero(num): 如果数字小于10前面自动添加0
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| :----: | :----: | :----: |:---- |:----: |
| num | 数字 | number | | |
##### getDecodeHTMLEntities(str): 获取HTML里的文字内容,此方法只能用于浏览器,服务器环境不能使用
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| :----: | :----: | :----: |:---- |:----: |
| str | html字符串 | string | | |
##### getEscapeText(text): 字符串的转义,将`&`, `<`, `>`, `"`, `'`分别转义为`&`, `<`, `>`, `"`, `'`
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| :----: | :----: | :----: |:---- |:----: |
| text | text处理前字符串 | string | | |
##### getUnescapeText(text): 字符串的反转义,将`&`, `<`, `>`, `"`, `'`替换为转义前的符号
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| :----: | :----: | :----: |:---- |:----: |
| 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数字](https://github.com/cilla123/happy-utils/blob/master/number/index.js)
##### 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金钱](https://github.com/cilla123/happy-utils/blob/master/money/index.js)
##### 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](https://github.com/cilla123/happy-utils/blob/master/url/index.js)
##### 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校验](https://github.com/cilla123/happy-utils/blob/master/validate/index.js)
##### 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设备](https://github.com/cilla123/happy-utils/blob/master/device/index.js)
##### isWeixin(): 是否微信内置浏览器
##### getMobileType(): 获取手机类型
##### getOs(): 获取打开的网页在哪里打开
#### 3.8:[network网络](https://github.com/cilla123/happy-utils/blob/master/network/index.js)
##### download(href, title): 生成下载
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| :----: | :----: | :----: |:---- |:----: |
| href | 路径 | string | | |
| title | 名字 | string | | |
#### 3.9:[storage存储](https://github.com/cilla123/happy-utils/blob/master/storage/index.js)
##### 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地图](https://github.com/cilla123/happy-utils/blob/master/map/index.js)
##### 此方法较为特殊,调用方法如下
```js
const { MapTransformer } = require('happy-utils/map')
// 手机坐标转精确坐标
const lnglat = MapTransformer.gpsToGcj(lng, lat)
cosnt lnglatXY = MapTransformer.gpsToBaidu(lng, lat)
```
#### 3.11:[other其它](https://github.com/cilla123/happy-utils/blob/master/other/index.js)
##### setTitle(title): 动态设置标题
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
| :----: | :----: | :----: |:---- |:----: |
| title | 标题 | string | | |
---
如果需要其他的函数,请联系ddanlife@163.com添加,最好可以直接提PR。
### 如果觉得好用,请在github star 和fork,github地址: [https://github.com/cilla123/happy-utils](https://github.com/cilla123/happy-utils)