forspace-common-utils

1.0.5 • Public • Published

前端日常工具类

数字相关工具

  • 生成指定范围随机数

    import CommonUtils from 'forspace-common-utils'
    
    const num1 = CommonUtils.randomNum(1,100)
    
    console.log(num1)
  • 数字千分位分隔

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.format(10100)
    
    console.log(str)
  • 数字转化为大写金额

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.digitUppercase(10100)
    
    console.log(str)
  • 数字转化为中文数字

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.intToChinese(10100)
    
    console.log(str)

字符串相关工具

  • 去掉字符左右空格

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.strTrimLeftOrRight(' adadad ')
    
    console.log(str)
  • 全局替换某个字符为另一个字符

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.strReplace('adadad','a','b')
    
    console.log(str)
  • 将字母全部转化成以大写开头

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.strToCapitalLetter('adadad')
    
    console.log(str)
  • 生成随机字符串

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.randomString(16)
    
    console.log(str)
  • 字符串首字母大写

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.fistLetterUpper('adadad')
    
    console.log(str)
  • 手机号中间四位变成*

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.telFormat('15645454554')
    
    console.log(str)
  • 驼峰命名转换成短横线命名

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.getKebabCase('commonUtils')
    
    console.log(str)
  • 短横线命名转换成驼峰命名

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.getKebabCase('common-utils')
    
    console.log(str)
  • 全角转换为半角

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.toCDB('啊哒哒,啊哒哒')
    
    console.log(str)
  • 半角转换为全角

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.toDBC('啊哒哒,啊哒哒')
    
    console.log(str)

数组相关工具

  • 判断是否是数组

    import CommonUtils from 'forspace-common-utils'
    
    const flag = CommonUtils.arrJudge([1, 2, 3])
    
    console.log(flag)
  • 数组去重

    import CommonUtils from 'forspace-common-utils'
    
    const arr = CommonUtils.arrRemoveRepeat([1, 2, 3, 2])
    
    console.log(arr)
  • 数组排序

    import CommonUtils from 'forspace-common-utils'
    
    const arr = CommonUtils.arrOrderAscend([1, 2, 3, 2])
    
    console.log(arr)
  • 数组最大值

    import CommonUtils from 'forspace-common-utils'
    
    const num = CommonUtils.arrMax([1, 2, 3, 2])
    
    console.log(num)
  • 数组求和

    import CommonUtils from 'forspace-common-utils'
    
    const num = CommonUtils.arrSum([1, 2, 3, 2])
    
    console.log(num)
  • 对象数组求和

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {a: 1, b: 2},
        {a: 1, b: 2},
        {a: 1, b: 2},
    ]
    
    const num = CommonUtils.arrObjSum(objArr)
    
    console.log(num)
  • 合并数组,目前合并一维

    import CommonUtils from 'forspace-common-utils'
    
    const arr = CommonUtils.arrConcat([1, 2, 3, 2], [1212, 121])
    
    console.log(arr)
  • 判断是否包含某值

    import CommonUtils from 'forspace-common-utils'
    
    const flag = CommonUtils.arrIncludeValue([1, 2, 3, 2], 3)
    
    console.log(flag)
  • 数组并集,只支持一维数组

    import CommonUtils from 'forspace-common-utils'
    
    const arr = CommonUtils.arrAndSet([1, 2, 3, 2], [1, 3, 4])
    
    console.log(arr)
  • 数组交集,只支持一维数组

    import CommonUtils from 'forspace-common-utils'
    
    const arr = CommonUtils.arrIntersection([1, 2, 3, 2], [1, 3, 4])
    
    console.log(arr)
  • 数组差集,只支持一维数组

    import CommonUtils from 'forspace-common-utils'
    
    const arr = CommonUtils.arrDifference([1, 2, 3, 2], [1, 3, 4])
    
    console.log(arr)
  • 对象数组根据对象某个属性分组

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {a: 1, b: 2},
        {a: 1, b: 2},
        {a: 2, b: 2},
    ]
    
    const arr = CommonUtils.ArrayGrouping(objArr, 'a')
    
    console.log(arr)
  • 根据属性去重数组

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {a: 1, b: 2},
        {a: 1, b: 2},
        {a: 2, b: 2},
    ]
    
    const arr = CommonUtils.arrUniqueByAttr(objArr, 'a')
    
    console.log(arr)
  • 找出数组中该属性最小值的一列

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {a: 1, b: 2},
        {a: 2, b: 2},
        {a: 3, b: 2},
    ]
    
    const arr = CommonUtils.arrMinByAttr(objArr, 'a')
    
    console.log(arr)
  • 找出数组中该属性最大值的一列

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {a: 1, b: 2},
        {a: 2, b: 2},
        {a: 3, b: 2},
    ]
    
    const arr = CommonUtils.areMaxByAttr(objArr, 'a')
    
    console.log(arr)
  • 扁平化数组 ==> 树形结构

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {a: 1, b: 0},
        {a: 2, b: 1},
        {a: 3, b: 2},
    ]
    
    const arr = CommonUtils.convert(objArr, {id: 'a', pId: 'b'})
    
    console.log(arr)
  • 扁平化数组 ==> 树形结构

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {
            a: 1,
            b: 0,
            children: [
              {
                a: 2,
                b: 1,
              },
        ]},
    ]
    
    const arr = CommonUtils.convertFlat(objArr)
    
    console.log(arr)
  • 数组乱序

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {a: 1, b: 2},
        {a: 1, b: 2},
        {a: 2, b: 2},
    ]
    
    const arr = CommonUtils.arrScrambling(objArr)
    
    console.log(arr)
  • 数组扁平化

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {
            a: 1,
            b: 0,
            children: [
              {
                a: 2,
                b: 1,
              },
        ]},
    ]
    
    const arr = CommonUtils.flatten(objArr)
    
    console.log(arr)
  • 数组中获取随机数

    import CommonUtils from 'forspace-common-utils'
    
    const objArr = [
        {a: 1, b: 2},
        {a: 1, b: 2},
        {a: 2, b: 2},
    ]
    
    const arr = CommonUtils.sample(objArr)
    
    console.log(arr)

数组相关工具

  • 空对象判断

    import CommonUtils from 'forspace-common-utils'
    
    const obj = {}
    
    const flag = CommonUtils.isEmptyObject(obj)
    
    console.log(flag)
  • 判断两个对象是否相等

    import CommonUtils from 'forspace-common-utils'
    
    const obj1 = {a: 1}
    const obj2 = {a: 2}
    
    const flag = CommonUtils.objIsEqual(obj1, obj2)
    
    console.log(flag)
  • 深拷贝

    import CommonUtils from 'forspace-common-utils'
    
    const obj1 = {a: 1}
    
    const obj = CommonUtils.deepClone(obj)
    
    console.log(obj)

时间相关工具

  • 获取年份

    import CommonUtils from 'forspace-common-utils'
    
    const date = new Date()
    
    const str = CommonUtils.getYear(date)
    
    console.log(str)
  • 获取当前月份

    import CommonUtils from 'forspace-common-utils'
    
    const date = new Date()
    
    const str = CommonUtils.getMonth(date)
    
    console.log(str)
  • 获取日

    import CommonUtils from 'forspace-common-utils'
    
    const date = new Date()
    
    const str = CommonUtils.getDay(date)
    
    console.log(str)
  • 获取星期几

    import CommonUtils from 'forspace-common-utils'
    
    const date = new Date()
    
    const str = CommonUtils.getWhatDay(date)
    
    console.log(str)
  • 获取当前月天数

    import CommonUtils from 'forspace-common-utils'
    
    const num = CommonUtils.getMonthNum(2021, 11)
    
    console.log(num)
  • 获取当前时间

    import CommonUtils from 'forspace-common-utils'
    
    const date = new Date()
    
    const str = CommonUtils.getYyMmDdHhMmSs(date)
    
    console.log(str)
  • 时间戳转化为年月日

    import CommonUtils from 'forspace-common-utils'
    
    const str = CommonUtils.timesToYyMmDd(1635823152,  'yyyy-mm-dd', 'hh:mm:ss')
    
    console.log(str)
  • 将年月日转化成时间戳

    import CommonUtils from 'forspace-common-utils'
    
    const num = CommonUtils.YyMmDdToTimes('2021-11-02 11:19:12')
    
    console.log(num)

浏览器存储相关工具

  • 保存localStorage

    import CommonUtils from 'forspace-common-utils'
    
    CommonUtils.setLocalStorage('key', 'value', 24*60*60*1000)
  • 获取localStorage

import CommonUtils from 'forspace-common-utils'

const value = CommonUtils.getLocalStorage('key')

console.log(value)
  • 设置cookie
import CommonUtils from 'forspace-common-utils'

const value = CommonUtils.setCookie('key', 'value', 24*60*60*1000)

console.log(value)
  • 读取cookie
import CommonUtils from 'forspace-common-utils'

const value = CommonUtils.getCookie('key')

console.log(value)
  • 删除cookie
import CommonUtils from 'forspace-common-utils'

CommonUtils.delCookie('key')

JS相关工具

  • 节流:当持续触发事件时,保证一定时间段内只调用一次事件处理函数
import CommonUtils from 'forspace-common-utils'

const fun = () => {
    console.log(1)
}

const fun2 = CommonUtils.throttle(fun, 5000)

fun2()
fun2()
  • 防抖:当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次
import CommonUtils from 'forspace-common-utils'

const fun = () => {
    console.log(1)
}

const fun2 = CommonUtils.debounce(fun, 5000)

fun2()
fun2()
  • 阻止冒泡事件
import CommonUtils from 'forspace-common-utils'

document.addEventListener('click',(e)=>{
  CommonUtils.stopPropagation(e)
})
  • 数据类型判断
import CommonUtils from 'forspace-common-utils'

const str = CommonUtils.getType(121)

console.log(str)
  • 数据类型判断
import CommonUtils from 'forspace-common-utils'

const obj = CommonUtils.deepClone({a: 1, b: new Date()})

console.log(obj)

事件相关工具

 import CommonUtils from 'forspace-common-utils'

 const event = CommonUtils.EventEmitter()

 event.on('log', ()=>{
     console.log(1)
 })

 event.once('onceLog', ()=>{
     console.log(2)
 })

 event.emit('onceLog')
 event.emit('onceLog')

 event.emit('log')
 event.emit('log')

 event.off('onceLog',()=>{
     console.log(3)
 })
 event.allOff('log')

终端相关工具

  • 判断浏览器内核
import CommonUtils from 'forspace-common-utils'

const str = CommonUtils.checkBrowser()

console.log(str)
  • 判断是终端类型,值有ios,android,iPad
import CommonUtils from 'forspace-common-utils'

const str = CommonUtils.checkIosAndroidIPad()

console.log(str)
  • 判断是终端类型,值有ios,android,iPad
import CommonUtils from 'forspace-common-utils'

const str = CommonUtils.checkIosAndroidIPad()

console.log(str)
  • 判断是否是微信,qq 或 uc
import CommonUtils from 'forspace-common-utils'

const str = CommonUtils.checkWeixinQqUc()

console.log(str)
  • 判断是否是微信,qq 或 uc
import CommonUtils from 'forspace-common-utils'

const str = CommonUtils.checkIsIPhoneX()

console.log(str)
  • 判断是移动还是PC设备
import CommonUtils from 'forspace-common-utils'

const str = CommonUtils.isMobile()

console.log(str)
  • 判断是否是苹果
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.isAppleMobileDevice()

console.log(flag)
  • 判断是否是安卓移动设备
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.isAndroidMobileDevice()

console.log(flag)
  • 判断是Windows还是Mac系统
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.osType()

console.log(flag)
  • 浏览器型号和版本
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.getExplorerInfo()

console.log(flag)

浏览器相关工具

  • 滚动到页面顶部
import CommonUtils from 'forspace-common-utils'

CommonUtils.scrollToTop()
  • 滚动到页面底部
import CommonUtils from 'forspace-common-utils'

CommonUtils.scrollToBottom()
  • 滚动到指定元素区域
import CommonUtils from 'forspace-common-utils'

CommonUtils.smoothScroll('title')
  • 获取可视窗口高度
import CommonUtils from 'forspace-common-utils'

const num = CommonUtils.getClientHeight()

console.log(num)
  • 获取可视窗口宽度
import CommonUtils from 'forspace-common-utils'

const num = CommonUtils.getPageViewWidth()

console.log(num)
  • 打开浏览器全屏
import CommonUtils from 'forspace-common-utils'

CommonUtils.toFullScreen()
  • 退出浏览器全屏
import CommonUtils from 'forspace-common-utils'

CommonUtils.exitFullscreen()

校验相关工具

  • 判断是否为数字
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkNum(1)

console.log(flag)
  • 判断是否为字母
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkLetter('a')

console.log(flag)
  • 判断是否全部是小写字母
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkLowercaseLetter('avaD')

console.log(flag)
  • 判断是否是大写字母
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkCapitalLetter('avaD')

console.log(flag)
  • 判断是否是字母或数字
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkNumOrLetter('avaDada121')

console.log(flag)
  • 判断是否是中文
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkNumOrLetter('判断是否是中文')

console.log(flag)
  • 判断是否是中文,数字或字母
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkNumOrLetter('判断是否是中文112da')

console.log(flag)
  • 判断是否是邮箱地址
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkEmail('12121@qq.com')

console.log(flag)
  • 判断是否是手机号
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkTelPhone('12134111324')

console.log(flag)
  • 判断是否是正确的网址
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkUrl('https://www.baidu.com')

console.log(flag)
  • 校验身份证号码
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.checkUrl('121212121221')

console.log(flag)
  • 校验是否为中国大陆的邮政编码
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.isPostCode(12111)

console.log(flag)
  • 是否有emoji表情
import CommonUtils from 'forspace-common-utils'

const flag = CommonUtils.isEmojiCharacter('👌')

console.log(flag)

Readme

Keywords

Package Sidebar

Install

npm i forspace-common-utils

Weekly Downloads

1

Version

1.0.5

License

MIT

Unpacked Size

56.6 kB

Total Files

15

Last publish

Collaborators

  • ternencewu0702