happy-utils
v1.4.0
Published
共用函数库,提取出大部分业务需要的共用的函数。
Downloads
85
Maintainers
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): 字符串的转义,将&
, <
, >
, "
, '
分别转义为&
, <
, >
, "
, '
| 参数 | 说明 | 类型 | 可选值 | 默认值 | | :----: | :----: | :----: |:---- |:----: | | 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数字
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。