UNPKG

@ivujs/i-utils

Version:

前端模块化 JavaScript 工具库

2,047 lines (2,024 loc) 90.4 kB
/** * 排序相关常量配置(全局只读) * * DESC: 降序 * - 取值:0 * * ASC: 升序 * - 取值:1 * * RANDOM: 随机排序 * - 取值:2 */ declare const SORT: Record<string, number>; /** * 数学计算相关常量配置(全局只读) * * ROUND: 正常四舍五入 * - 取值:0 * - 示例:1.354保留两位是1.35;1.355保留两位是1.36 * * ROUND_FLOOR: 向下舍出 * - 取值:1 * - 示例:1.354保留两位是1.35;1.355保留两位是1.35 */ declare const MATH: Record<string, any>; /** * 语言相关常量配置(全局只读) * * ZH: 中文 * - zh * * EN: 英文 * - en */ declare const LANG: Record<string, any>; /** * 正则表达式相关常量配置(全局只读) * * CH: 中文汉字 * EN: 英文字母 * LOWER_CASE: 小写字母 * UPPER_CASE: 大写字母 * CH_NAME: 中文姓名(2-16位) * EN_NAME: 英文姓名(1-20位) * NUMBER: 数字(包含正数和负数) * INTEGER: 整数(包含:0,正整数和负整数) * DECIMAL: 小数(包含正小数和负小数) * INT_OR_FLOAT: 正整数或者保留两位小数 * MOBILE: 手机号码(支持+86) * PHONE: 固定电话号码(比如:0755-1111111) * EMAIL: 邮箱 * ID_CARD: 一代15位或二代18位身份证 * ID_CARD15: 仅校验一代15位身份证 * ID_CARD18: 仅校验二代18位身份证 * BANK_CARD: 银行卡号 * POST_CODE: 邮政编码 * URL: url地址(可获取主机地址、主机名、端口号、协议、查询参数、hash等信息) * IP: ip地址 * IP6: IPv6地址 * EXTERNAL: 外链(http、https、mail、tel电话) */ declare const REGEXP: Record<string, RegExp>; /** * 日期相关的多语言常量配置(全局只读) * * AM_PM: 上午/下午多语言配置 * - zh: { AM: "上午", PM: "下午" } * - en: { AM: "AM", PM: "PM" } * * WEEK: 星期多语言配置 * - zh.FULL: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] * - zh.SHORT: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"] * - zh.MINI: ["日", "一", "二", "三", "四", "五", "六"] * - en.FULL: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] * - en.SHORT: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] * - en.MINI: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"] * * MONTH: 月份多语言配置 * - zh.FULL: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] * - zh.SHORT: ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"] * - en.FULL: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] * - en.SHORT: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] * * QUARTER: 季度多语言配置 * - zh.FULL: ["第一季度", "第二季度", "第三季度", "第四季度"] * - zh.SHORT: ["一季度", "二季度", "三季度", "四季度"] * - zh.MINI: ["一", "二", "三", "四"] * - en.FULL: ["quarter 1st", "quarter 2nd", "quarter 3rd", "quarter 4th"] * - en.SHORT: ["Q1th", "Q2nd", "Q3rd", "Q4th"] * - en.MINI: ["Q1", "Q2", "Q3", "Q4"] * * OVER_TIME: 剩余时间单位多语言配置 * - zh: { YEAR: "年", MONTH: "月", DATE: "日", HOUR: "时", MINUTE: "分", SECOND: "秒", MILLISECOND: "毫秒", DAY: "天", QUARTER: "季度" } * - en: { YEAR: "year", MONTH: "month", DATE: "date", HOUR: "hour", MINUTE: "minute", SECOND: "second", MILLISECOND: "millisecond", DAY: "day", QUARTER: "quarter" } * * PASS_TIME: 过去时间描述多语言配置 * - zh: { YEAR: "年前", MONTH: "个月前", DAY: "天前", BEFORE_YESTERDAY: "前天", YESTERDAY: "昨天", TODAY: "今天", HOUR: "小时前", MINUTE: "分钟前", JUST: "刚刚" } * - en: { YEAR: " year ago", MONTH: " month ago", DAY: " day ago", BEFORE_YESTERDAY: "before yesterday", YESTERDAY: " yesterday", TODAY: " today", HOUR: " hour ago", MINUTE: " minute ago", JUST: " just" } * * HOLIDAY: 节假日多语言配置 * - zh: ["元旦", "春节", "清明节", "劳动节", "端午节", "中秋节", "国庆节"] * - en: ["New Year‘s Day", "Spring Festival", "Tomb Sweeping Day", "Labor Day", "Dragon Boat Festival", "Mid-Autumn Day", "National Day"] * * ZODIAC: 星座多语言配置 * - zh: ["摩羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座"] * - en: ["Capricorn", "Aquarius", "Pisces", "Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius"] * * CHINESE_ZODIAC: 生肖多语言配置 * - zh: ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"] * - en: ["Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Goat", "Monkey", "Rooster", "Dog", "Pig"] * * HEAVENLY_STEMS: 天干多语言配置 * - zh: ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"] * - en: ["Jia", "Yi", "Bing", "Ding", "Wu", "Ji", "Geng", "Xin", "Ren", "Gui"] * * EARTHLY_BRANCHES: 地支多语言配置 * - zh: ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"] * - en: ["Zi", "Chou", "Yin", "Mao", "Chen", "Si", "Wu", "Wei", "Shen", "You", "Xu", "Hai"] */ declare const DATE: Record<string, any>; /** * 键盘码相关常量配置(全局只读) * * 字符键: * - 8: Backspace * - 9: Tab * - 13: Enter * - 16: Shift * - 17: Ctrl * - 18: Alt * - 19: Pause * - 20: Caps Lock * - 27: Escape * - 32: Space * - 33: Page Up * - 34: Page Down * - 35: End * - 36: Home * - 37: Left * - 38: Up * - 39: Right * - 40: Down * - 42: Print Screen * - 45: Insert * - 46: Delete * * 数字键: * - 48: 0 * - 49: 1 * - 50: 2 * - 51: 3 * - 52: 4 * - 53: 5 * - 54: 6 * - 55: 7 * - 56: 8 * - 57: 9 * * 字母键: * - 65: A * - 66: B * - 67: C * - 68: D * - 69: E * - 70: F * - 71: G * - 72: H * - 73: I * - 74: J * - 75: K * - 76: L * - 77: M * - 78: N * - 79: O * - 80: P * - 81: Q * - 82: R * - 83: S * - 84: T * - 85: U * - 86: V * - 87: W * - 88: X * - 89: Y * - 90: Z * * window 相关键: * - 91: Windows * - 93: Right Click * * 数字小键盘(Numpad): * - 96: Numpad 0 * - 97: Numpad 1 * - 98: Numpad 2 * - 99: Numpad 3 * - 100: Numpad 4 * - 101: Numpad 5 * - 102: Numpad 6 * - 103: Numpad 7 * - 104: Numpad 8 * - 105: Numpad 9 * - 106: Numpad * * - 107: Numpad + * - 109: Numpad - * - 110: Numpad . * - 111: Numpad / * * F功能键: * - 112: F1 * - 113: F2 * - 114: F3 * - 115: F4 * - 116: F5 * - 117: F6 * - 118: F7 * - 119: F8 * - 120: F9 * - 121: F10 * - 122: F11 * - 123: F12 * * 特殊符号/功能键: * - 144: Num Lock * - 145: Scroll Lock * - 182: My Computer * - 183: My Calculator * - 186: ; * - 187: = * - 188: , * - 189: - * - 190: . * - 191: / * - 192: ` * - 219: [ * - 220: \ * - 221: ] * - 222: ' */ declare const KEYCODE: Record<string, string>; /** * 身份证号相关常量配置(全局只读) * * PROVINCE: 身份证号前两位对应的省份/地区编码映射 * - 11: 北京 * - 12: 天津 * - 13: 河北 * - 14: 山西 * - 15: 内蒙古 * - 21: 辽宁 * - 22: 吉林 * - 23: 黑龙江 * - 31: 上海 * - 32: 江苏 * - 33: 浙江 * - 34: 安徽 * - 35: 福建 * - 36: 江西 * - 37: 山东 * - 41: 河南 * - 42: 湖北 * - 43: 湖南 * - 44: 广东 * - 45: 广西 * - 46: 海南 * - 50: 重庆 * - 51: 四川 * - 52: 贵州 * - 53: 云南 * - 54: 西藏 * - 61: 陕西 * - 62: 甘肃 * - 63: 青海 * - 64: 宁夏 * - 65: 新疆 * - 71: 台湾 * - 81: 香港 * - 82: 澳门 * - 91: 国外 * * SEX: 身份证号解析的性别映射 * - MAN: 男 * - WOMAN: 女 */ declare const ID_CARD: Record<string, any>; /** * 字符串中是否包含指定的元素 * @param {string} value 包含的元素 * @param {string} str 查找的字符串 * @returns {boolean} 返回true和false */ declare function inString(value: string, str: string): boolean; /** * 去除字符串前后位置空格 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function trim(value: string): string; /** * 去除字符串开始位置的空格 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function trimStart(value: string): string; /** * 去除字符串结束位置的空格 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function trimEnd(value: string): string; /** * 去除字符串中全部的空格 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function trimAll(value: string): string; /** * 替换所有指定字符串为新的字符串 * @param {string} value 参数 * @param {string} oldSubstr 需要替换的字符串 * @param {string} newSubstr 替换后的字符串 * @returns {string} 返回处理后的字符串 */ declare function replaceAll(value: string, oldSubstr: string, newSubstr: string): string; /** * 字符串转大写 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function toUpperCase(value: string): string; /** * 字符串转小写 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function toLowerCase(value: string): string; /** * 转为 snake_case 下划线命名 * @description 支持 驼峰命名,短横命名,帕斯卡命名 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function toSnakeCase(value: string): string; /** * 转为 kebab-case 短横命名 * @description 支持 下划线,驼峰命名,帕斯卡命名 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function toKebabCase(value: string): string; /** * 转为 camelCase 驼峰命名 * @description 支持 下划线命名,短横命名,帕斯卡命名 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function toCamelCase(value: string): string; /** * 转为 PascalCase 帕斯卡命名 * @description 支持 下划线命名,短横命名,驼峰命名 * @param {string} value 参数 * @returns {string} 返回处理后的字符串 */ declare function toPascalCase(value: string): string; /** * 数字前补齐0达到指定位数 * @description 相当于原生的 padStart(2,'0') * @param {number|string} value 补零的数字 * @param {number} maxLength 补齐0后的最大长度,默认2位 * @returns {string} 返回补0后指定位数的字符串 */ declare function padZeroStart(value: string | number, maxLength?: number): string; /** * 数字后补齐0达到指定位数 * @description 相当于原生的 padEnd(2,'0') * @param {number|string} value 补零的数字 * @param {number} maxLength 补齐0后的最大长度,默认2位 * @returns {string} 返回补0后指定位数的字符串 */ declare function padZeroEnd(value: string | number, maxLength?: number): string; /** * 格式化为标题样式 * @param {string} value 字符串值 * @returns {string} 返回格式化后的标题样式 */ declare function formatTitle(value: string): string; /** * 格式化字符串模版 * @param {string} value 字符串值 * @param {Object} data 模版数据 * @returns {string} 返回格式化后的模版字符串 */ declare function formatTemplate(value: string, data: Record<any, any>): string; /** * 格式化千分位数字 * @description 支持任意数据传参,如果非数字则不会格式化,并返回原数据 * @param {number|string} num 数字 * @returns {string} 返回格式化后的千分位数字 */ declare function formatThousand(num: number | string): string; /** * 格式化人民币金额大写 * @param {number|string} money 金额 * @returns {string} 返回金额大写 */ declare function formatRmbChinese(money: number | string): string; /** * 转为数字类型 * @description 解决部分浏览器在转换 '08','09'等是0开头时被默认转8进制问题 * @param {string|number} value 转换的值 * @param {number} radix 进制数,默认10进制 * @returns {number} 返回转换后的数字 */ declare function parseInt(value: string | number, radix?: number): number; /** * 转为小数类型 * @param {string|number} value 转换的值 * @returns {number} 返回转换后的数字 */ declare function parseFloat(value: string | number): number; /** * 数组最小值 * @param {Array} array 数组 * @returns {number} 返回最小值 */ declare function arrayMin(array: any[]): number; /** * 数组最大值 * @param {array} array 数组 * @returns {number} 返回最大值 */ declare function arrayMax(array: any[]): number; /** * 数组求和 * @param {Array} array 数组 * @returns {number} 返回和 */ declare function arraySum(array: any[]): number; /** * 数组求平均值 * @param {Array} array 数组 * @returns {number} 返回平均数 */ declare function arrayAvg(array: any[]): number; /** * 数组中是否包含指定的元素 * @param {string|number} value 元素 * @param {Array} array 查找的数组 * @returns {boolean} 返回结果 */ declare function inArray(value: string | number, array: any[]): boolean; /** * 比较两个数组是否相等 * @param {Array} array1 数组1 * @param {Array} array2 数组2 * @returns {boolean} 返回结果 */ declare function arrayEquals(array1: any[], array2: any[]): boolean; /** * 生成指定长度的数组 * @param {number} length 长度,默认 0 * @returns {Array} 返回数组 */ declare function arrayCreate(length?: number): number[]; /** * 数组指定位置添加元素 * @description 如果数组为空,则在0位置添加元素 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @param {*} value 添加的元素 * @returns {Array} 返回操作后的数组 */ declare function arrayInsert(array?: any[], index?: number, value?: any): any[]; /** * 数组指定位置前面添加元素 * @description 如果数组为空,则在0位置添加元素 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @param {*} value 添加的元素 * @returns {Array} 返回操作后的数组 */ declare function arrayInsertBefore(array?: any[], index?: number, value?: any): any[]; /** * 数组指定位置后面添加元素 * @description 如果数组为空,则在0位置添加元素 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @param {*} value 添加的元素 * @returns {Array} 返回操作后的数组 */ declare function arrayInsertAfter(array?: any[], index?: number, value?: any): any[]; /** * 数组指定位置删除元素 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @returns {Array} 返回操作后的数组 */ declare function arrayRemove(array?: any[], index?: number): any[]; /** * 数组指定位置前面删除元素 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @returns {Array} 返回操作后的数组 */ declare function arrayRemoveBefore(array?: any[], index?: number): any[]; /** * 数组指定位置后面删除元素 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @returns {Array} 返回操作后的数组 */ declare function arrayRemoveAfter(array?: any[], index?: number): any[]; /** * 数组置顶 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @returns {Array} 返回操作后的数组 */ declare function arrayTop(array?: any[], index?: number): any[]; /** * 数组置尾 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @returns {Array} 返回操作后的数组 */ declare function arrayBottom(array?: any[], index?: number): any[]; /** * 数组向上移动 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @returns {Array} 返回操作后的数组 */ declare function arrayUp(array?: any[], index?: number): any[]; /** * 数组向下移动 * @param {Array} array 数组 * @param {number} index 下标位置,默认0 * @returns {Array} 返回操作后的数组 */ declare function arrayDown(array?: any[], index?: number): any[]; /** * 数组交换元素 * @param {Array} array 数组 * @param {number} sourceIndex 原索引 * @param {number} targetIndex 目标索引 * @returns {Array} 返回操作后的数组 */ declare function arraySwap(array: any[], sourceIndex: number, targetIndex: number): any[]; /** * 数组排序 * @param {Array} array 数组 * @param {number} mode 排序模式,参考常量集合中 数组常量,默认是升序 * @returns {Array} 返回操作后的数组 */ declare function arraySort(array: any[], mode?: number): any[]; /** * 数组属性混合排序 * @description 排序默认为asc升序 * @param {Array} array 数组 * @param {Array} props 排序的属性 * @returns {Array} 返回操作后的数组 */ declare function arraySortBy(array: any[], props: any[]): any[]; /** * 数组元素去重 * @param {Array} array 数组 * @returns {Array} 返回操作后的数组 */ declare function arrayUnique(array: any[]): any[]; /** * 数组打乱元素 * @description 可以适用于一些抽奖人员列表打乱顺序 * @param {Array} array 数组 * @returns {Array} 返回操作后的数组 */ declare function arrayShuffle(array: any[]): any[]; /** * 普通数组转树形结构 * @description 包含id和pid属性关系的一维数组,转为children的树形结构 * @param {Array} array 数组 * @param {Object} setting 配置项 * @returns {Array} 返回树形节点 */ declare function arrayToTree(array: any[], setting?: { key: string; parentKey: string; childrenKey: string; }): any[]; /** * 树形结构转普通数组 * @param {Array} nodes 树形节点 * @param {Object} setting 配置项 * @returns {Array} 返回普通数组 */ declare function treeToArray(nodes: any[], setting?: { childrenKey: string; }): any[]; /** * 数组求并集 * @description 数组1 和 数组2 合并一起的元素集合 * @param {Array} array1 数组1 * @param {Array} array2 数组2 * @returns {Array} 返回数组 */ declare function arrayUnion(array1: any[], array2: any[]): any[]; /** * 数组求交集 * @description 数组1 和 数组2 相同的元素集合 * @param {Array} array1 数组1 * @param {Array} array2 数组2 * @returns {Array} 返回数组 */ declare function arrayIntersect(array1: any[], array2: any[]): any[]; /** * 数组求差集 * @description 数组1 中不包含 数组2 的元素集合 * @param {Array} array1 数组1 * @param {Array} array2 数组2 * @returns {Array} 返回数组 */ declare function arrayDifference(array1: any[], array2: any[]): any[]; /** * 数组求补集 * @description 数组1 和 数组2 不相同的元素集合 * @param {Array} array1 数组1 * @param {Array} array2 数组2 * @returns {Array} 返回数组 */ declare function arrayComplement(array1: any[], array2: any[]): any[]; /** * map转object * @param {Map} map 参数 * @returns {Object} 返回Object */ declare function mapToObject(map: Map<any, any>): Record<any, any>; /** * map转json字符串 * @param {Map} map 参数 * @returns {string} 返回Json字符串 */ declare function mapToJson(map: Map<any, any>): string; /** * object转map * @param {Object} obj 参数 * @returns {Map} 返回Map */ declare function objectToMap(obj: Record<any, any>): Map<any, any>; /** * json字符串转map * @param {string} json json字符串 * @returns {Map} 返回Map */ declare function jsonToMap(json: string): Map<any, any>; /** * json对象转json字符串 * @param {Object} json json对象 * @param {boolean} replacer 是否处理循环引用 * @returns {string} 返回Json字符串 */ declare function stringifyJson(json: Record<any, any>, replacer?: boolean): string; /** * json字符串转json对象 * @param {string} json json字符串 * @returns {Object} 返回Json对象 */ declare function parseJson(json: string): Record<any, any> | null; /** * 浅拷贝数据 * @param {*} source 拷贝的数据 * @returns {*} 返回浅拷贝的数据 */ declare function clone(source: any): any; /** * 深拷贝数据 * @param {*} source 拷贝的数据 * @returns {*} 返回深拷贝的数据 */ declare function cloneDeep(source: any): any; /** * 比较两个对象是否相等 * @description 方法只能对比简单的对象,不能包含function,另外对象的属性顺序不一致也是相等的 * @param {Object} obj1 对象1 * @param {Object} obj2 对象2 * @returns {boolean} 返回true和false */ declare function objectEquals(obj1: Record<any, any>, obj2: Record<any, any>): boolean; /** * 合并对象 * @param {Object} target 目标对象 * @param {Object[]} source 原对象列表 * @returns {Object} 返回合并后的对象 */ declare function merge(target: Record<any, any>, ...source: Record<any, any>[]): any; /** * 根据字符串属性路径获取目标对象的值 * @example * let res = {code:200, data:{rows:[], pages:{current:1,pageSize:20}}} * this._getValueByPath(res, 'data.pages.pageSize'); // 这里会输出20 * @param {Object} target 目标对象 * @param {string} path 字符串属性路径 * @returns {*} 返回目标对象的值 */ declare function getValueByPath(target: Record<any, any>, path?: string): any; /** * 根据字符串属性路径设置目标对象的值 * @example * let res = {code:200, data:{rows:[], pages:{current:1,pageSize:20}}} * this._setValueByPath(res, 'data.pages.pageSize', 30); // 打印res对象会发现pageSize的值改为了30 * @param {Object} target 目标对象 * @param {string} path 字符串属性路径 * @param {*} value 值 * @returns {*} 返回修改过后的目标对象 */ declare function setValueByPath(target: Record<any, any>, path: string | undefined, value: any): Record<any, any>; /** * @module 函数 */ /** * 防抖函数 * @description 事件执行后,在延迟时间内如果再次执行,会清空定时器重新延迟执行,举例:用户在输入框进行输入搜索,最终是会获取到最后一次输入,节约请求资源 * @param {Function} fn 目标函数 * @param {number} delay 延迟时间,单位毫秒,默认 1*1000 毫秒 * @param {boolean} immediate 是否立即执行,默认true * @returns {Function} 返回function() */ declare function debounce<T extends (...args: any[]) => any>(fn: T, delay?: number, immediate?: boolean): (...args: Parameters<T>) => ReturnType<T> | void; /** * 节流函数 * @description 高频触发时,在指定时间间隔内只执行一次,举例:监听页面滚动,不会频繁触发,只会在固定时间内获取一次 * @param {Function} fn 目标函数 * @param {number} interval 时间间隔,单位毫秒,默认1000毫秒 * @returns {Function} 返回function() */ declare function throttle<T extends (...args: any[]) => any>(fn: T, interval?: number): (...args: Parameters<T>) => ReturnType<T> | void; /** * 睡眠延迟执行 * @description 需要配合 async/await 来达到延迟效果 * @param {number} delay 延迟时间,单位毫秒,默认1000毫秒 */ declare function sleep(delay?: number): Promise<unknown>; /** 日期配置类型 @param format 日期格式字符串,支持的占位符如下: | 占位符 | 说明 | 示例(2025-01-05 08:05:08 周一) | |--------|-----------------------|---------------------------------| | yyyy | 4 位年份 | 2025 | | yy | 2 位年份 | 25 | | MM | 2 位月份(补 0) | 01 | | M | 1 位月份(不补 0) | 1 | | dd | 2 位日期(补 0) | 05 | | d | 1 位日期(不补 0) | 5 | | HH | 24 小时制(2 位,补 0) | 08 | | H | 24 小时制(1 位,不补 0)| 8 | | hh | 12 小时制(2 位,补 0) | 08 | | h | 12 小时制(1 位,不补 0)| 8 | | mm | 2 位分钟(补 0) | 05 | | m | 1 位分钟(不补 0) | 5 | | ss | 2 位秒数(补 0) | 08 | | s | 1 位秒数(不补 0) | 8 | | SSS | 3 位毫秒(补 0) | 123 | | S | 1 位毫秒(不补 0) | 1 | | E | 周几(迷你名) | 一(zh) / Mon(en) | | EE | 周几(短名) | 周一(zh) / Mon(en) | | EEE | 周几(全名) | 星期一(zh) / Monday(en) | | Q | 季度(迷你名) | 1(zh) / 1(en) | | QQ | 季度(短名) | Q1(zh) / Q1(en) | | QQQ | 季度(全名) | 第一季度(zh) / Quarter 1(en)| | a | 上午 / 下午(小写) | am /pm | | A | 上午 / 下午(大写) | AM / PM | | aa | 上午 / 下午(中文) | 上午 / 下午 | | AA | 上午 / 下午(中文大写) | 上午 / 下午 | @example yyyy-MM-dd HH:mm:ss → 2025-01-05 08:05:08 yyyy-M-d h:m:s → 2025-1-5 8:5:8 yyyy-MM-dd EE → 2025-01-05 周一 @param lang 语言,可选值:zh(默认)/ en */ interface DateOptions { format?: string; lang?: string; } /** * 今天 *@returns {string} 返回日期字符串 */ declare function today(): string; /** * 昨天 * @returns {string} 返回日期字符串 */ declare function yesterday(): string; /** * 明天 *@returns {string} 返回日期字符串 */ declare function tomorrow(): string; /** * 上周(7天前日期) * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function lastWeek(date?: Date): string; /** * 下周(7天后日期) * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function nextWeek(date?: Date): string; /** * 上个月(30天前日期) * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function lastMonth(date?: Date): string; /** * 下个月(30天后日期) * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function nextMonth(date?: Date): string; /** * 上一年(365天前日期) * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function lastYear(date?: Date): string; /** * 下一年(365天后日期) * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function nextYear(date?: Date): string; /** * 是否为上午 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isAM(date?: Date): boolean; /** * 是否为下午 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isPM(date?: Date): boolean; /** * 是否为今天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isToday(date?: Date): boolean; /** * 是否为昨天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isYesterday(date?: Date): boolean; /** * 是否为前天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isBeforeYesterday(date?: Date): boolean; /** * 是否为明天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isTomorrow(date?: Date): boolean; /** * 是否为后天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isAfterTomorrow(date?: Date): boolean; /** * 是否为工作日 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isWorkday(date?: Date): boolean; /** * 是否为周末(周六和周日) * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isWeekend(date?: Date): boolean; /** * 是否为本周第一天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isFirstDayOfWeek(date?: Date): boolean; /** * 是否为本周最后一天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isLastDayOfWeek(date?: Date): boolean; /** * 是否为本月第一天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isFirstDayOfMonth(date?: Date): boolean; /** * 是否为本月最后一天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isLastDayOfMonth(date?: Date): boolean; /** * 是否为本年第一天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isFirstDayOfYear(date?: Date): boolean; /** * 是否为本年最后一天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isLastDayOfYear(date?: Date): boolean; /** * 是否为闰年 * @description 闰年366天,平年365天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isLeapYear(date?: Date): boolean; /** * 是否为平年 * @description 闰年366天,平年365天 * @param {Date} date 日期参数,默认当前日期 * @returns {boolean} 返回结果 */ declare function isCommonYear(date?: Date): boolean; /** * 是否在日期之前 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期,默认当前日期 * @returns {boolean} 返回结果 */ declare function isBefore(startDate: Date, endDate?: Date): boolean; /** * 是否在日期之后 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期,默认当前日期 * @returns {boolean} 返回结果 */ declare function isAfter(startDate: Date, endDate?: Date): boolean; /** * 是否在两个日期之间 * @param {Date} date 要比较的日期 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {boolean} 返回结果 */ declare function isBetween(date: Date, startDate: Date, endDate: Date): boolean; /** * 两个日期是否为同一天 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {boolean} 返回结果 */ declare function isSame(startDate: Date, endDate: Date): boolean; /** * 两个日期是否为同一周 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {boolean} 返回结果 */ declare function isSameWeek(startDate: Date, endDate: Date): boolean; /** * 两个日期是否为同一个月 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {boolean} 返回结果 */ declare function isSameMonth(startDate: Date, endDate: Date): boolean; /** * 两个日期是否为同一年 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {boolean} 返回结果 */ declare function isSameYear(startDate: Date, endDate: Date): boolean; /** * 两个日期是否相同或之前 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {boolean} 返回结果 */ declare function isSameOrBefore(startDate: Date, endDate: Date): boolean; /** * 两个日期是否相同或之后 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {boolean} 返回结果 */ declare function isSameOrAfter(startDate: Date, endDate: Date): boolean; /** * 获得此刻的日期 * @returns {Date} 返回日期 */ declare function getNow(): Date; /** * 获得当前日期字符串 * @param {Date} date 日期参数,默认当前日期 * @param options 配置项 配置项 * @returns {string} 返回日期字符串 */ declare function getDate(date?: Date, options?: DateOptions): string; /** * 获得当前日期时间字符串 * @param {Date} date 日期参数,默认当前日期 * @param options 配置项 配置项 * @returns {string} 返回日期时间字符串 */ declare function getDateTime(date?: Date, options?: DateOptions): string; /** * 获取当前时间戳 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回时间戳 */ declare function getTimestamp(date?: Date): number; /** * 获取当前Unix时间戳 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回Unix时间戳 */ declare function getUnixTimestamp(date?: Date): number; /** * 获得当前日期的对象形式 * @param {Date} date 日期参数,默认当前日期 * @returns {Object} 返回日期的对象形式 */ declare function getDateObject(date?: Date): { year: number; month: number; date: number; hours: number; minutes: number; seconds: number; milliseconds: number; }; /** * 获得当前日期的数组形式 * @param {Date} date 日期参数,默认当前日期 * @returns {Object} 返回日期的数组形式 */ declare function getDateArray(date?: Date): number[]; /** * 获得当前日期是周几 * @param {Date} date 日期参数,默认当前日期 * @param options 配置项 * @returns {number|string} 返回周几,会根据语言返回 */ declare function getWeek(date?: Date, options?: DateOptions): number | string; /** * 获得当前日期是第几季度 * @param {Date} date 日期参数,默认当前日期 * @param options 配置项 * @returns {number|string} 返回第几季度,会根据语言返回 */ declare function getQuarter(date?: Date, options?: DateOptions): number | string; /** * 获得当前日期是所在周的第几天 * @param {Date} date 日期参数,默认当前日期 * @returns {number|string} 返回天数 */ declare function getDayOfWeek(date?: Date): number | string; /** * 获得当前日期是所在月的第几天 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回天数 */ declare function getDayOfMonth(date?: Date): number; /** * 获得当前日期是所在年的第几天 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回天数 */ declare function getDayOfYear(date?: Date): number; /** * 获得当前日期是所在月的第几周 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回周数 */ declare function getWeekOfMonth(date?: Date): number; /** * 获得当前日期是所在年的第几周 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回周数 */ declare function getWeekOfYear(date?: Date): number; /** * 获得当前日期所在的周共几天 * @returns {number} 返回天数 */ declare function getDaysOfWeek(): number; /** * 获得当前日期所在的月共几天 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回天数 */ declare function getDaysOfMonth(date?: Date): number; /** * 获得当前日期所在的年共几天 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回天数 */ declare function getDaysOfYear(date?: Date): number; /** * 获得当前日期是所在月的第几周 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回周数 */ declare function getWeeksOfMonth(date?: Date): number; /** * 获得当前日期是所在年的第几周 * @param {Date} date 日期参数,默认当前日期 * @returns {number} 返回周数 */ declare function getWeeksOfYear(date?: Date): number; /** * 获得当前日期所在周的第一天 * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function getFirstDateOfWeek(date?: Date): string; /** * 获得当前日期所在周的最后一天 * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function getLastDateOfWeek(date?: Date): string; /** * 获取当前日期所在周的所有日期 * @param {Date} date 日期参数,默认当前日期 * @returns {string[]} 返回日期数组 */ declare function getFullDateOfWeek(date?: Date): string[]; /** * 获得当前日期所在月的第一天 * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function getFirstDateOfMonth(date?: Date): string; /** * 获得当前日期所在月的最后一天 * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function getLastDateOfMonth(date?: Date): string; /** * 获取当前日期所在月的所有日期 * @param {Date} date 日期参数,默认当前日期 * @returns {string[]} 返回日期数组 */ declare function getFullDateOfMonth(date?: Date): string[]; /** * 获取当前日期所在年的第一天 * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function getFirstDateOfYear(date?: Date): string; /** * 获取当前日期所在年的最后一天 * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function getLastDateOfYear(date?: Date): string; /** * 获取当前日期所在年的所有日期 * @param {Date} date 日期参数,默认当前日期 * @returns {string} 返回日期字符串 */ declare function getFullDateOfYear(date?: Date): string[]; /** * 计算两个日期相差的天数,不满一天为0 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {number} 返回两个日期相差的天数,结果为正数或者负数 */ declare function getDiffDay(startDate: Date, endDate: Date): number; /** * 计算两个日期相差的周数,不满一周为0 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {number} 返回两个日期相差的周数,结果为正数或者负数 */ declare function getDiffWeek(startDate: Date, endDate: Date): number; /** * 计算两个日期相差的月数,不满一月为0 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {number} 返回两个日期相差的月数,结果为正数或者负数 */ declare function getDiffMonth(startDate: Date, endDate: Date): number; /** * 计算两个日期相差的年数,不满一年为0 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {number} 返回两个日期相差的年数,结果为正数或者负数 */ declare function getDiffYear(startDate: Date, endDate: Date): number; /** * 获得两个日期之间的年月日数组 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {Array} 返回年月日数组 */ declare function getBetweenDates(startDate: Date, endDate: Date): string[]; /** * 获得两个日期之间的年月数组 * @description 支持:日期字符串,日期对象,时间戳,Unix时间戳 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {Array} 返回年月数组 */ declare function getBetweenMonths(startDate: Date, endDate: Date): string[]; /** * 获得两个日期之间的年数组 * @param {Date} startDate 开始日期 * @param {Date} endDate 结束日期 * @returns {Array} 返回年数组 */ declare function getBetweenYears(startDate: Date, endDate: Date): number[]; /** * 获得过去时间的字符串显示 * @description 例如:刚刚,1分钟前,1小时前等 * @param {Date} date 日期参数 * @param options 配置项 * @returns {string} 返回字符串 */ declare function getPastTime(date: Date, options?: DateOptions): string; /** * 获得剩余时间的字符串显示 * @description 例如:1天10小时20分钟30秒 * @param {Date} date 日期参数 * @param options 配置项 * @returns {string} 返回字符串 */ declare function getOverTime(date: Date, options?: DateOptions): string; /** * 通过日期获得年龄 * @param {Date} date 日期参数 * @returns {number} 返回周岁年龄 */ declare function getAge(date: Date): number; /** * 通过日期获得星座 * @param {Date} date 日期参数 * @param options 配置项 * @returns {string} 返回星座 */ declare function getZodiac(date: Date, options?: DateOptions): string; /** * 通过日期获得生肖 * @param {Date} date 日期参数 * @param options 配置项 * @returns {string} 返回生肖 */ declare function getChineseZodiac(date: Date, options?: DateOptions): string; /** * 日期加减年 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+1 * @returns {Date} 返回加减后的日期 */ declare function addYear(date?: Date, num?: number): Date; /** * 日期加减月 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+1 * @returns {Date} 返回加减后的日期 */ declare function addMonth(date?: Date, num?: number): Date; /** * 日期加减天 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+1 * @returns {Date} 返回加减后的日期 */ declare function addDate(date?: Date, num?: number): Date; /** * 日期加减小时 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+1 * @returns {Date} 返回加减后的日期 */ declare function addHours(date?: Date, num?: number): Date; /** * 日期加减分钟 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+1 * @returns {Date} 返回加减后的日期 */ declare function addMinutes(date?: Date, num?: number): Date; /** * 日期加减秒 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+1 * @returns {Date} 返回加减后的日期 */ declare function addSeconds(date?: Date, num?: number): Date; /** * 日期加减毫秒 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+100 * @returns {Date} 返回加减后的日期 */ declare function addMillisecond(date?: Date, num?: number): Date; /** * 日期加减周 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+1 * @returns {Date} 返回加减后的日期 */ declare function addWeek(date?: Date, num?: number): Date; /** * 日期加减季度 * @param {Date} date 日期参数,默认当前日期 * @param {number} num 加减数量,用正数和负数表示;默认+1 * @returns {Date} 返回加减后的日期 */ declare function addQuarter(date?: Date, num?: number): Date; /** * UTC 日期对象转本地时区日期对象 * @description 将 UTC 时间的 Date 对象转换为本地时间的 Date 对象(时间戳不变,仅调整时区偏移) * @param {Date} date UTC 日期对象,默认当前 UTC 时间 * @returns {Date} 本地时区日期对象(时间戳 = UTC时间戳 + 时区偏移毫秒数) * @example * // UTC时间:2025-01-26 00:00:00 * const utcDate = new Date('2025-01-26T00:00:00Z'); * const localDate = fromDateUTC(utcDate); * console.log(toDateString(localDate)); // 2025-01-26 08:00:00(北京本地时间) */ declare function fromDateUTC(date?: Date): Date; /** * 本地时区日期转 UTC 日期对象 * @description 将本地时间的 Date 对象转换为 UTC 时间的 Date 对象(时间戳不变,仅调整时区偏移) * @param {Date} date 本地日期对象,默认当前本地时间 * @returns {Date} UTC 日期对象(时间戳 = 本地时间戳 - 时区偏移毫秒数) * @example * // 北京本地时间:2025-01-26 08:00:00(东8区) * const localDate = new Date('2025-01-26 08:00:00'); * const utcDate = toDateUTC(localDate); * console.log(utcDate.toISOString()); // 2025-01-26T00:00:00.000Z(UTC时间) */ declare function toDateUTC(date?: Date): Date; /** * 格式化日期为 UTC 字符串(符合 ISO 8601 标准) * @description 直接输出 UTC 时间的字符串,无需手动转换时区 * @param {Date} date 本地日期对象,默认当前本地时间 * @param {DateOptions} options 格式化配置,默认 yyyy-MM-dd HH:mm:ss * @returns {string} UTC 日期字符串 * @example * const localDate = new Date('2025-01-26 08:00:00'); * console.log(toUTCString(localDate)); // 2025-01-26 00:00:00 */ declare function toDateUTCString(date?: Date, options?: DateOptions): string; /** * 日期字符串转为日期对象 * @description 支持日期字符串,时间戳,Unix时间戳 * @param {string|number} value 日期参数 * @returns {Date} 返回日期对象 */ declare function toDate(value: string | number): Date; /** * 日期对象转为日期字符串 * @description 支持日期字符串,日期对象,时间戳,unix时间戳 * @param {Date} date 日期参数 * @param options 配置项 * @returns {string} 返回日期字符串 */ declare function toDateString(date: Date, options?: DateOptions): string; /** * 两个数字相加 * @param {string|number} arg1 第一个数字 * @param {string|number} arg2 第二个数字 * @returns {number} 返回计算后的数字 */ declare function add(arg1: string | number, arg2: string | number): number; /** * 两个数字相减 * @param {string|number} arg1 第一个数字 * @param {string|number} arg2 第二个数字 * @returns {number} 返回计算后的数字 */ declare function subtract(arg1: string | number, arg2: string | number): number; /** * 两个数字相乘 * @param {string|number} arg1 第一个数字 * @param {string|number} arg2 第二个数字 * @returns {number} 返回计算后的数字 */ declare function multiply(arg1: string | number, arg2: string | number): number; /** * 两个数字相除 * @param {string|number} arg1 第一个数字 * @param {string|number} arg2 第二个数字 * @returns {number} 返回计算后的数字 */ declare function divide(arg1: string | number, arg2: string | number): number; /** * 两个数字取模 * @param {string|number} arg1 第一个数字 * @param {string|number} arg2 第二个数字 * @returns {number} 返回计算后的数字 */ declare function modulo(arg1: string | number, arg2: string | number): number; /** * 最大公约数 * @param {string|number} arg1 第一个数字 * @param {string|number} arg2 第二个数字 * @returns {number} 返回计算后的数字 */ declare function gcd(arg1: string | number, arg2: string | number): number; /** * 最小公倍数 * @param {string|number} arg1 第一个数字 * @param {string|number} arg2 第二个数字 * @returns {number} 返回计算后的数字 */ declare function scm(arg1: string | number, arg2: string | number): number; /** * 强制保留小数位数 * @description 默认保留两位小数,解决原生的toFixed()会五舍六入的问题 * @param {string|number} num 数字 * @param {number} decimals 保留小数的位数,默认2位 * @param {number} mode 保留小数模式 * @returns {string} 返回保留后的数字字符串 */ declare function toFixed(num: string | number, decimals?: number, mode?: number): string; /** * 尽可能保留小数位数 * @param {string|number} num 数字 * @param {number} decimals 保留小数的位数,默认2位 * @param {number} mode 保留小数模式 * @returns {number} 返回保留后的数字 */ declare function toDecimal(num: string | number, decimals?: number, mode?: number): number; /** * 正则校验的方法 * @description 类型为REGEXP对应的正则 * @param {string} value 校验的参数 * @param {RegExp} regex 使用的REGEXP中的正则 * @returns {boolean} 返回校验的结果 */ declare function regexpTest(value: string, regex: RegExp): boolean; /** * 是中文 * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isChinese(value: string): boolean; /** * 是英文 * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isEnglish(value: string): boolean; /** * 是外链 * @description 支持http,https,mail,tel电话 * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isExternal(value: string): boolean; /** * 是小写字母 * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isLowerCase(value: string): boolean; /** * 是大写字母 * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isUpperCase(value: string): boolean; /** * 是11位手机号码 * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isMobile(value: string): boolean; /** * 是邮箱 * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isEmail(value: string): boolean; /** * 是身份证号码(15-18位) * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isIdCard(value: string): boolean; /** * 是url链接 * @param {string} value 校验的参数 * @returns {boolean} 返回校验的结果 */ declare function isUrl(value: string): boolean; /** * @module 随机数 */ /** * 生成指定大小的随机整数 * @description n和m参数表示最小和最大范围值,默认0-9之间范围 * @param {number} min 随机数的最小值,默认 0 * @param {number} max 随机数的最大值,默认 9 * @returns {number} 返回指定大小的随机整数 */ declare function getRandom(min?: number, max?: number): number; /** * 生成固定位数的随机整数 * @description 默认是1,代表生成0-9之间一位,如果是2,则生成10-99之间两位,以此类推 * @param {number} len 固定的位数 * @returns {number} 返回固定位数的随机数 */ declare function getRandomDigit(len?: number): number; /** * 格式化文件大小自动转为 B,KB,MB,GB * @param {number} size 文件的大小,单位byte字节 * @returns {string} 返回格式化后的字符串 */ declare function formatFileSize(size: number): string; /** * 获得文件名称 * @param {string} fileName 文件的全名称,例如:测试图片.jpg * @returns {string} 返回文件的名称 */ declare function getFileName(fileName: string): string | undefined; /** * 获得文件后缀名 * @param {string} value 文件地址路径或者文件全名称,例如:http://xxx.com/mytest.jpg,测试图片.jpg * @returns {string} 返回文件后缀名 */ declare function getFileSuffix(value: string): string | undefined; /** * file转blob * @param {File} file file文件 * @returns {Promise} 返回Promise的blob */ declare function fileToBlob(file: File): Promise<Blob>; /** * file转base64 * @param {File} file file文件 * @returns {Promise} 返回Promise的base64 */ declare function fileToBase64(file: File): Promise<string>; /** * file转url * @description 适用于本地上传图片并预览,需要注意 URL.revokeObjectURL(file) 内存释放 * @param {File} file file文件 * @returns {Promise} 返回Promise的url */ declare function fileToUrl(file: File): Promise<string>; /** * url赚file * @param {string} url url地址 * @returns {Promise} 返回Promise的file */ declare function urlToFile(url: string): Promise<File>; /** * blob转file * @param {Blob} blob blob数据 * @param {string} fileName 文件名称,默认以时间戳命名 * @returns {Promise} 返回Promise的file */ declare function blobToFile(blob: Blob, fileName?: string): Promise<File>; /** * blob转文本 * @param {Blob} blob blob数据 * @returns {Promise} 返回Promise的文本 */ declare function blobToText(blob: Blob): Promise<string>; /** * blob转base64 * @param {Blob} blob blob数据 * @returns {Promise} 返回Promise的base64 */ declare function blobToBase64(blob: Blob): Promise<string>; /** * base64转file * @param {string} base64 base64数据 * @param {string} fileName 文件名称,默认以时间戳命名 * @returns {Promise} 返回Promise的file */ declare function base64ToFile(base64: string, fileName?: string): Promise<File>; /** * base64转成blob * @param {string} base64 base64数据 * @returns {Promise} 返回Promise的blob */ declare function base64ToBlob(base64: string): Promise<Blob>; /** * 图片url转base64 * @param {string} imgUrl 图片url地址 * @returns {Promise} 返回Promise的base64 */ declare function urlToBase64(imgUrl: string): Promise<string>; /** * 下载blob格式的文件 * @param {Blob} blob blob数据 * @param {string} fileName 下载的文件名,不写后缀名则默认为原文件类型 */ declare function downloadBlobFile(blob: Blob, fileName: string): void; /** * 通过文件url地址下载 * @param {string} fileUrl url文件地址 * @param {string} fileName 下载的文件名,不写后缀名则默认为原文件类型 */ declare function downloadFileUrl(fileUrl: string, fileName: string): void; /** * @module 颜色 */ /** * rgb颜色转hex * @param {string} rgb rgb颜色字符串 * @returns {string} 返回生成的hex颜色 */ declare function rgbToHex(rgb: string): string; /** * rgba颜色转hex * @param {string} rgba rgba颜色字符串 * @returns {string} 返回生成的hex颜色 */ declare function rgbaToHex(rgba: string): string; /** * rgba颜色转hsl * @param {string} rgba rgb颜色字符串 * @returns {string} 返回生成的hsl颜色 */ declare function rgbaToHsl(rgba: string): string; /** * hex颜色转rgb * @param {string} hex hex颜色字符串 * @returns {string} 返回生成的rgb颜色 */ declare function hexToRgb(hex: string): string; /** * hex颜色转rgba * @param {string} hex hex颜色字符串 * @param {number} opacity 透明度 * @returns {string} 返回生成的rgba颜色 */ declare function hexToRgba(hex: string, opacity?: number): string; /** * hex颜色转hsl * @param {string} hex hex颜色字符串 * @returns {string} 返回生成的hsl颜色 */ declare function hexToHsl(hex: string): string; /** * 随机生成hex颜色 * @returns {string} 返回生成的十六进制颜色 */ declare function getDrawHex(): string; /** * 随机生成rgb颜色 * @returns {string} 返回生成的 rgb 颜色 */ declare function getDrawRgb(): string; /** * 随机生成rgba颜色 * @returns {string} 返回生成的 rgba 颜色 */ declare function getDrawRgba(): string; /** * @module 校验 */ /** * 判断是整数 * @param {*} value 参数 * @returns {boolean} result 返回结果 */ declare function isInteger(value: any): boolean; /** * 判断是小数 * @param {*} value 参数 * @returns {boolean} result 返回结果 */ declare function isDecimal(value: any): boolean; /** * 判断类型是数字 Number * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isNumber(value: any): boolean; /** * 判断类型是字符串 String * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isString(value: any): boolean; /** * 判断类型是数组 Array * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isArray(value: any): boolean; /** * 判断类型是对象 Object * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isObject(value: any): boolean; /** * 判断类型是布尔 boolean * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isBoolean(value: any): boolean; /** * 判断类型是日期 Date * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isDate(value: any): boolean; /** * 判断类型是函数 Function * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isFunction(value: any): boolean; /** * 判断类型是函数字符串 FunctionString * @description 支持普通函数,异步函数,箭头函数 * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isFunctionString(value: any): boolean; /** * 判断类型是异步函数 AsyncFunction * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isAsyncFunction(value: any): boolean; /** * 判断类型是 Symbol * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isSymbol(value: any): boolean; /** * 判断类型是正则 RegExp * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isRegExp(value: any): boolean; /** * 判断类型是错误 Error * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isError(value: any): boolean; /** * 判断类型是 Promise * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isPromise(value: any): boolean; /** *判断类型是 Map * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isMap(value: any): boolean; /** * 判断类型是 WeakMap * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isWeakMap(value: any): boolean; /** * 判断类型是 Set * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isSet(value: any): boolean; /** * 判断类型是 WeakSet * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isWeakSet(value: any): boolean; /** * 判断类型是 BigInt * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isBigInt(value: any): boolean; /** * 判断类型是 Json * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isJson(value: any): boolean; /** * 判断值为真 * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isTrue(value: any): boolean; /** * 判断值为假 * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isFalse(value: any): boolean; /** * 判断非数字 * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isNaN(value: any): boolean; /** * 判断是数字 * @description 等同于isNumber() * @param {*} value 参数 * @returns {boolean} 返回结果 */ declare function isNotNaN(value: any): boolean; /** * 判断对象为空 * @description 判断值是否为空,如果对象初始化了值则不为空 * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isNull(value: any): boolean; /** * 判断对象不为空 * @description 判断值是否为空,如果对象初始化了值则不为空 * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isNotNull(value: any): boolean; /** * 判断值为空 * @description 判断是否是有意义不为空的值,如果值是{},[]空的数据则为空 * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isEmpty(value: any): boolean; /** * 判断值不为空 * @description 判断是否是有意义不为空的值,如果值是{},[]空的数据则为空 * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isNotEmpty(value: any): boolean; /** * 判断值是空白的 * @description 同时会校验空值,空对象,以及空白符号 * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isBlank(value: any): boolean; /** * 判断值不是空白的 * @description 同时会校验空值,空对象,以及空白符号 * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isNotBlank(value: any): boolean; /** * 判断值是undefined * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isUndefined(value: any): boolean; /** * 判断值不是undefined * @param {*} value 校验的参数 * @returns {boolean} 返回结果 */ declare function isNotUndefined(value: any): boolean; /** * 判断两个值是否相等 * @param {*} value1 参数1 * @param {*} value2 参数2 * @returns {boolean} 返回结果 */ declare function equals(value1: any, value2: any): boolean; /** * 判断两个值是否相等(忽略大小写) * @param {*} value1 参数1 * @param {*} value2 参数2 * @returns {boolean} 返回结果 */ declare function equalsIgnoreCase(value1: any, value2: any): boolean; /** * 深度对比数据 * @description 可以对比任意数据,对象、数组、日期等也可深度对比,对象不区分先后顺序 * @param {*} x 数据1 * @param {*} args 数据2 * @returns {boolean} 返回对比结果 */ declare function deepCompare(x: any, ...args: any[]): boolean; /** * 根据keycode获得键名 * @param {number} keycode 键值 * @returns {string} 返回键名 */ declare function getKeyName(keycode: number): string; /** * 根据keyname获得键值 * @param {string} keyname * @returns {string} 返回键值 */ declare function getKeyCode(keyname: string): string | undefined; /** * @module 生成Id */ /** * 生成UUID * @param {Number} len 生成的长度,默认32位 * @param {Number} radix 进制数,默认16进制 * @example * getUUID() // 输出:0a559343dbbf0e7e6c1de90163e7aa0a * @returns {String} 返回字符串 */ declare function getUUID(len?: number, radix?: number): string; /** * 生成GUID * @example * getGUID() // 输出:275ec770-0853-6767-4875-7b270220ce9c * @returns {String} 返回字符串 */ declare function getGUID(): string; /** * Base64编码 * @param str 待编码的UTF8字符串 * @param urlSafe 是否生成URL安全的Base64(默认false) * @returns Base64字符串 */ declare function base64Encode(str: string, urlSafe?: boolean): string; /** * Base64解码 * @param str 待解码的Base64字符串 * @returns 解码后的UTF8字符串 */ declare function base64Decode(str: string): string; /** * URL安全Base64编码 * @param str 待编码的UTF8字符串 * @returns URL安全的Base64字符串 */ declare function base64EncodeURI(str: string): string; /** * URL安全Base64解码 * @param str 待解码的URL安全Base64字符串 * @returns 解码后的UTF8字符串 */ declare function base64DecodeURI(str: string): string; /** * Uint8Array转Base64字符串 * @param uint8Array 待编码的字节数组 * @param urlSafe 是否生成URL安全的Base64(默认false) * @returns Base64字符串 */ declare function base64FromUint8Array(uint8Array: Uint8Array, urlSafe?: boolean): string; /** * Base64字符串转Uint8Array * @param base64Str 待解码的Base64字符串 * @param urlSafe 是否为URL安全的Base64(默认false) * @returns 解码后的字节数组 */ declare function base64ToUint8Array(base64Str: string, urlSafe?: boolean): Uint8Array; /** * 十六进制字符串转Base64字符串 * @param hexStr 待编码的十六进制字符串 * @param urlSafe 是否生成URL安全的Base64(默认false) * @returns Base64字符串 */ declare function base64FromHex(hexStr: string, urlSafe?: boolean): string; /** * Base64字符串转十六进制字符串 * @param base64Str 待解码的Base64字符串 * @param urlSafe 是否为URL安全的Base64(默认false) * @returns 解码后的十六进制字符串 */ declare function base64ToHex(base64Str: string, urlSafe?: boolean): string; /** * md5 加密 * @param {string} str 字符串 * @returns {string} 返回加密后的十六进制字符串 */ declare function md5(str: string): string; /** * md5 加密 * @param {string} str 字符串 * @returns {*} 返回加密后的二进制原始值 */ declare function md5Raw(str: string): any; /** * md5_hmac 加密 * @param {string} str 字符串 * @param {string} key 秘钥 * @returns {string} 返回加密后的十六进制字符串 */ declare function md5Hmac(str: string, key: string): string; /** * md5_hmac 加密 * @param {string} str 字符串 * @param {string} key 秘钥 * @returns {string} 返回加密后的二进制原始值 */ declare function md5HmacRaw(str: string, key: string): any; /** * sha256 加密 * @param {string} str 字符串 * @returns {string} 返回加密后的字符串 */ declare function sha256(str: string): string; /** * sha256_raw 加密 * @param {string} str 字符串 * @returns {string} 返回加密后的原始值 */ declare function sha256Raw(str: strin