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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@little_white007/utils

v1.0.2

Published

工具类

Readme

[TOC]

安装

npm i @little_white007/utils

使用

import Utils from '@little_white007/utils';

//每个方法都通过Utils.xx的形式使用,具体例子看代码
Utils.isEmpty(22)  // false

一、常用工具函数说明

  1. serialize(data)

    • 描述: 将对象序列化为 URL 编码的字符串。
    • 参数:
      • data (Object): 要序列化的对象。
    • 返回值:
      • string: 序列化后的字符串,格式为 key1=value1&key2=value2
  2. getObjType(obj)

    • 描述: 获取对象的类型。
    • 参数:
      • obj (any): 要检测的对象。
    • 返回值:
      • string: 对象的类型,如 'array', 'object', 'string' 等。
  3. getViewDom()

    • 描述: 获取页面中特定元素的 DOM 节点。
    • 参数: 无
    • 返回值:
      • DOMElement: 页面中 ID 为 avue-view 的元素中的第一个 .el-scrollbar__wrap 元素。
  4. deepClone(data)

    • 描述: 深拷贝对象或数组。
    • 参数:
      • data (any): 要深拷贝的数据。
    • 返回值:
      • any: 深拷贝后的数据。
  5. toggleGrayMode(status)

    • 描述: 切换页面的灰度模式。
    • 参数:
      • status (boolean): 是否启用灰度模式。
    • 返回值: 无
  6. setTheme(name)

    • 描述: 设置页面的主题。
    • 参数:
      • name (string): 主题名称。
    • 返回值: 无
  7. encryption(params)

    • 描述: 对数据进行加密处理。
    • 参数:
      • params (Object): 配置对象,包含以下属性:
        • data (Object): 要加密的数据。
        • type (string): 加密类型,如 'Base64''Aes'
        • param (Array): 需要加密的字段列表。
        • key (string): 加密密钥(仅在 type'Aes' 时使用)。
    • 返回值:
      • Object: 加密后的数据。
  8. fullscreenToggel()

    • 描述: 切换浏览器全屏状态。
    • 参数: 无
    • 返回值: 无
  9. listenfullscreen(callback)

    • 描述: 监听全屏状态变化,并执行回调函数。
    • 参数:
      • callback (Function): 全屏状态变化时的回调函数。
    • 返回值: 无
  10. fullscreenEnable()

    • 描述: 判断浏览器是否处于全屏状态。
    • 参数: 无
    • 返回值:
      • boolean: 当前是否处于全屏状态。
  11. reqFullScreen()

    • 描述: 请求浏览器进入全屏模式。
    • 参数: 无
    • 返回值: 无
  12. exitFullScreen()

    • 描述: 退出浏览器全屏模式。
    • 参数: 无
    • 返回值: 无
  13. findParent(menu, id)

    • 描述: 递归查找子节点的父节点。
    • 参数:
      • menu (Array): 菜单数据。
      • id (any): 要查找的子节点的 ID。
    • 返回值:
      • Object: 查找到的父节点对象。
  14. loadStyle(url)

    • 描述: 动态插入 CSS 文件。
    • 参数:
      • url (string): CSS 文件的 URL。
    • 返回值: 无
  15. diff(obj1, obj2)

    • 描述: 判断两个对象的属性和值是否相等。
    • 参数:
      • obj1 (Object): 第一个对象。
      • obj2 (Object): 第二个对象。
    • 返回值:
      • boolean: 两个对象是否相等。
  16. findByvalue(dic, value)

    • 描述: 根据字典的值查找对应的标签。
    • 参数:
      • dic (Array): 字典数据。
      • value (any): 要查找的值。
    • 返回值:
      • string | string[]: 查找到的标签或标签数组。
  17. findArray(dic, value)

    • 描述: 根据字典的值查找对应的索引。
    • 参数:
      • dic (Array): 字典数据。
      • value (any): 要查找的值。
    • 返回值:
      • number: 查找到的索引,未找到返回 -1
  18. randomLenNum(len, date)

    • 描述: 生成指定长度的随机数字。
    • 参数:
      • len (number, 可选): 随机数字的长度,默认为 4。
      • date (boolean, 可选): 是否附加当前时间戳,默认为 false
    • 返回值:
      • string: 生成的随机数字。
  19. openWindow(url, title, w, h)

    • 描述: 打开一个新的浏览器窗口。
    • 参数:
      • url (string): 新窗口的 URL。
      • title (string): 新窗口的标题。
      • w (number): 新窗口的宽度。
      • h (number): 新窗口的高度。
    • 返回值: 无
  20. getTopUrl()

    • 描述: 获取当前页面的顶级 URL。
    • 参数: 无
    • 返回值:
      • string: 顶级 URL。
  21. getQueryString(name)

    • 描述: 获取 URL 中的查询参数。
    • 参数:
      • name (string): 查询参数的名称。
    • 返回值:
      • string | null: 查询参数的值,未找到返回 null
  22. downloadFileBlob(path, name)

    • 描述: 下载文件(通过 Blob)。
    • 参数:
      • path (string): 文件的 URL。
      • name (string): 下载的文件名。
    • 返回值: 无
  23. downloadFileBase64(path, name)

    • 描述: 下载文件(通过 Base64)。
    • 参数:
      • path (string): 文件的 URL。
      • name (string): 下载的文件名。
    • 返回值: 无
  24. downloadXls(fileArrayBuffer, filename)

    • 描述: 下载 Excel 文件。
    • 参数:
      • fileArrayBuffer (ArrayBuffer): 文件的二进制数据。
      • filename (string): 下载的文件名。
    • 返回值: 无
  25. empty(value)

    • 描述: 判断值是否为空。
    • 参数:
      • value (any): 要检查的值。
    • 返回值:
      • boolean: 值是否为空。
  26. debounce(fn, delay)

    • 描述: 创建一个防抖函数。
    • 参数:
      • fn (Function): 要防抖的函数。
      • delay (number): 延迟时间(毫秒)。
    • 返回值:
      • Function: 防抖后的函数。

二、存储和获取 LocalStorage 的工具函数

  1. setStore(params)

    • 描述: 存储数据到 localStoragesessionStorage
    • 参数:
      • params (Object): 配置对象,包含以下属性:
        • name (string): 存储的键名。
        • content (any): 要存储的内容。
        • type (boolean, 可选): 是否存储到 sessionStorage,默认为 localStorage
    • 返回值: 无
  2. getStore(params)

    • 描述: 从 localStoragesessionStorage 中获取数据。
    • 参数:
      • params (Object): 配置对象,包含以下属性:
        • name (string): 存储的键名。
        • debug (boolean, 可选): 是否返回原始对象,默认为 false
    • 返回值:
      • any: 存储的内容,根据 dataType 转换为相应的类型。
  3. removeStore(params)

    • 描述: 从 localStoragesessionStorage 中删除数据。
    • 参数:
      • params (Object): 配置对象,包含以下属性:
        • name (string): 存储的键名。
        • type (boolean, 可选): 是否从 sessionStorage 中删除,默认为 localStorage
    • 返回值: 无
  4. getAllStore(params)

    • 描述: 获取 localStoragesessionStorage 中的所有数据。
    • 参数:
      • params (Object): 配置对象,包含以下属性:
        • type (boolean, 可选): 是否获取 sessionStorage 中的数据,默认为 localStorage
    • 返回值:
      • Array<Object>: 包含所有存储项的列表,每个项包含 namecontent 属性。
  5. clearStore(params)

    • 描述: 清空 localStoragesessionStorage 中的所有数据。
    • 参数:
      • params (Object): 配置对象,包含以下属性:
        • type (boolean, 可选): 是否清空 sessionStorage,默认为 localStorage
    • 返回值: 无

三、通用工具类函数说明

  1. notEmpty(val)

    • 描述: 检查值是否不为空。
    • 参数:
      • val (any): 要检查的值。
    • 返回值:
      • boolean: 如果值不为空,则返回 true,否则返回 false
  2. isUndefined(val)

    • 描述: 检查值是否为 undefinednull
    • 参数:
      • val (any): 要检查的值。
    • 返回值:
      • boolean: 如果值为 undefinednull,则返回 true,否则返回 false
  3. isEmpty(val)

    • 描述: 检查值是否为空。
    • 参数:
      • val (any): 要检查的值。
    • 返回值:
      • boolean: 如果值为 nullundefined 或空字符串,则返回 true,否则返回 false
  4. toInt(val, defaultValue)

    • 描述: 将值转换为整数,如果转换失败则返回默认值。
    • 参数:
      • val (any): 要转换的值。
      • defaultValue (number): 转换失败时的默认值,默认为 -1
    • 返回值:
      • number: 转换后的整数值或默认值。
  5. toFormData(obj)

    • 描述: 将对象转换为 FormData 类型。
    • 参数:
      • obj (Object): 要转换的对象。
    • 返回值:
      • FormData: 转换后的 FormData 对象。
  6. format(date, format)

    • 描述: 将 Date 对象转换为指定格式的字符串。
    • 参数:
      • date (Date): 要格式化的日期对象。
      • format (string): 日期格式,默认为 "YYYY-MM-DD HH:mm:ss"
    • 返回值:
      • string | null: 格式化后的日期字符串,如果 datenull 则返回 null
  7. join(arr)

    • 描述: 将数组中的元素用逗号连接成字符串。
    • 参数:
      • arr (Array): 要连接的数组。
    • 返回值:
      • string: 连接后的字符串,如果 arr 不是数组则直接返回 arr
  8. split(str)

    • 描述: 将字符串按逗号分割成数组。
    • 参数:
      • str (string): 要分割的字符串。
    • 返回值:
      • Array | string: 分割后的数组,如果 strnullundefined 则返回空字符串。
  9. toStr(str)

    • 描述: 将值转换为字符串,如果值为 undefinednull 则返回空字符串。
    • 参数:
      • str (any): 要转换的值。
    • 返回值:
      • string: 转换后的字符串。

四、日期相关函数说明

  1. calcDate(date1, date2)

    • 描述: 计算两个日期之间的差值,并返回天数、小时数、分钟数和秒数。
    • 参数:
      • date1 (Date): 第一个日期。
      • date2 (Date): 第二个日期。
    • 返回值:
      • Object: 包含以下属性:
        • days (number): 天数。
        • hours (number): 小时数。
        • minutes (number): 分钟数。
        • seconds (number): 秒数。
        • leave1 (number): 计算天数后剩余的毫秒数。
        • leave2 (number): 计算小时数后剩余的毫秒数。
        • leave3 (number): 计算分钟数后剩余的毫秒数。
  2. dateFormat(date, format)

    • 描述: 格式化日期。
    • 参数:
      • date (Date): 要格式化的日期。
      • format (string): 日期格式,默认为 "yyyy-MM-dd hh:mm:ss"
    • 返回值:
      • string: 格式化后的日期字符串。
  3. dateNow()

    • 描述: 获取当前时间的时间戳,格式为 "yyyyMMddhhmmss"
    • 参数: 无
    • 返回值:
      • string: 当前时间的时间戳。
  4. dateNowday()

    • 描述: 获取当前日期的时间戳,格式为 "yyyyMMdd"
    • 参数: 无
    • 返回值:
      • string: 当前日期的时间戳。
  5. dateNowmon()

    • 描述: 获取当前月份的时间戳,格式为 "yyyy-MM"
    • 参数: 无
    • 返回值:
      • string: 当前月份的时间戳。
  6. dateNowTime()

    • 描述: 获取当前时间的时间戳,格式为 "yyyy-MM-dd hh:mm:ss"
    • 参数: 无
    • 返回值:
      • string: 当前时间的时间戳。
  7. dateFormatForScreen(date, format)

    • 描述: 获取大屏显示的时间,包括星期、日期和时间。
    • 参数:
      • date (Date): 要格式化的日期。
      • format (string): 日期格式,默认为 "yyyy-MM-dd hh:mm:ss"
    • 返回值:
      • Object: 包含以下属性:
        • week (string): 星期几。
        • day (string): 日期部分。
        • time (string): 时间部分。

五、校验相关函数说明

  1. isvalidUsername(str)

    • 描述: 验证用户名是否合法。
    • 参数:
      • str (string): 待验证的用户名。
    • 返回值:
      • boolean: 如果用户名合法,返回 true;否则返回 false
  2. validateURL(textval)

    • 描述: 验证URL地址是否合法。
    • 参数:
      • textval (string): 待验证的URL地址。
    • 返回值:
      • boolean: 如果URL地址合法,返回 true;否则返回 false
  3. isEmail(s)

    • 描述: 验证邮箱地址是否合法。
    • 参数:
      • s (string): 待验证的邮箱地址。
    • 返回值:
      • boolean: 如果邮箱地址合法,返回 true;否则返回 false
  4. isImage(str)

    • 描述: 验证字符串是否为图片文件。
    • 参数:
      • str (string): 待验证的字符串。
    • 返回值:
      • boolean: 如果字符串是图片文件,返回 true;否则返回 false
  5. isMobile(s)

    • 描述: 验证手机号码是否合法。
    • 参数:
      • s (string): 待验证的手机号码。
    • 返回值:
      • boolean: 如果手机号码合法,返回 true;否则返回 false
  6. isPhone(s)

    • 描述: 验证电话号码是否合法。
    • 参数:
      • s (string): 待验证的电话号码。
    • 返回值:
      • boolean: 如果电话号码合法,返回 true;否则返回 false
  7. isURL(s)

    • 描述: 验证URL地址是否合法。
    • 参数:
      • s (string): 待验证的URL地址。
    • 返回值:
      • boolean: 如果URL地址合法,返回 true;否则返回 false
  8. validateLowerCase(str)

    • 描述: 验证字符串是否全为小写字母。
    • 参数:
      • str (string): 待验证的字符串。
    • 返回值:
      • boolean: 如果字符串全为小写字母,返回 true;否则返回 false
  9. validateUpperCase(str)

    • 描述: 验证字符串是否全为大写字母。
    • 参数:
      • str (string): 待验证的字符串。
    • 返回值:
      • boolean: 如果字符串全为大写字母,返回 true;否则返回 false
  10. validatAlphabets(str)

    • 描述: 验证字符串是否全为字母(大小写均可)。
    • 参数:
      • str (string): 待验证的字符串。
    • 返回值:
      • boolean: 如果字符串全为字母,返回 true;否则返回 false
  11. vaildatePc()

    • 描述: 验证当前设备是否为PC端。
    • 参数: 无
    • 返回值:
      • boolean: 如果当前设备是PC端,返回 true;否则返回 false
  12. validateEmail(email)

    • 描述: 验证邮箱地址是否合法。
    • 参数:
      • email (string): 待验证的邮箱地址。
    • 返回值:
      • boolean: 如果邮箱地址合法,返回 true;否则返回 false
  13. cardid(code)

    • 描述: 验证身份证号码是否合法。
    • 参数:
      • code (string): 待验证的身份证号码。
    • 返回值:
      • Array: 包含两个元素的数组,第一个元素是验证结果(truefalse),第二个元素是验证消息(字符串)。
  14. isvalidatemobile(phone)

    • 描述: 验证手机号码是否合法。
    • 参数:
      • phone (string): 待验证的手机号码。
    • 返回值:
      • Array: 包含两个元素的数组,第一个元素是验证结果(truefalse),第二个元素是验证消息(字符串)。
  15. validatename(name)

    • 描述: 验证姓名是否合法。
    • 参数:
      • name (string): 待验证的姓名。
    • 返回值:
      • boolean: 如果姓名合法,返回 true;否则返回 false
  16. validatenum(num, type)

    • 描述: 验证数字是否合法。
    • 参数:
      • num (string): 待验证的数字。
      • type (number): 验证类型(1 表示允许小数,2 表示不允许小数)。
    • 返回值:
      • boolean: 如果数字合法,返回 true;否则返回 false
  17. validatenumord(num, type)

    • 描述: 验证数字是否合法。
    • 参数:
      • num (string): 待验证的数字。
      • type (number): 验证类型(1 表示允许小数,2 表示不允许小数)。
    • 返回值:
      • boolean: 如果数字合法,返回 true;否则返回 false
  18. validatenull(val)

    • 描述: 验证值是否为空。
    • 参数:
      • val (any): 待验证的值。
    • 返回值:
      • boolean: 如果值为空,返回 true;否则返回 false