UNPKG

gzjs-utils

Version:

smart js utils

310 lines (309 loc) 8.01 kB
declare type any_str = string | undefined | null; /** * 年份 */ declare type year = number; /** * 月数 */ declare type moth = number; /** * 天数 */ declare type day = number; /** * 0=trim左右空白 * 1=trim左边空白 * 2=trim右边空白 */ declare type TrimMode = 0 | 1 | 2; export type URLParam = string | number | boolean | any; export type QueryParams = { [key: string]: string | boolean | any | ""; }; export type URI = { "source": string | ""; "protocol": string | ""; "authority": string | ""; "userInfo": string | ""; "user": string | ""; "password": string | ""; "host": string | ""; "port": string | ""; "relative": string | ""; "path": string | ""; "directory": string | ""; "file": string | ""; "query": string | ""; "anchor": string | ""; "origin": string | ""; "hash": string | ""; "params": QueryParams; toURLString: () => string; }; export type RandomTypeOrSource = 1 | 2 | 3 | (number | string)[] | string; export declare type Utils = { /** * 获取对象类型; * <p> * 例如: * <pre> * // type('123') 则返回 String * // type(133) 则返回 Number * // type([]) 则返回 Array * // type() 则返回 Undefined * // type(null) 则返回 null * </pre> * * @param obj */ type(obj: any): string; /** * 是否为 String 类型 * @param obj */ isString(obj: any): boolean; /** * 判断对象是否为 函数类型 * @param obj */ isFunction(obj: any): boolean; /** * 获取字符串中包含的中文个数 * @param obj */ chineseLen(obj: any_str): number; /** * 将字符串去空白 * @param str * @param flag */ trim<T = any_str>(str: T, flag?: TrimMode): T; /** * 去除 左边内容 * @param str 去除的内容 * @param prefix 左边内容 */ trimLeft<T = any_str>(str: T, prefix?: string): T; /** * 去除 右边内容 * @param str 去除的内容 * @param suffix 右边内容 */ trimRight<T = any_str>(str: T, suffix?: string): T; /** * 最忌打乱数组顺序 * @param arr */ shuffle<T>(arr: T[] | any): T[] | any; /** * 生成UUID */ uuid(): string; /** * 随机生成 */ random: typeof random; /** * 数据进行分页 * <pre> * // pageNo,从1开始, 如果指定 分页页码返回指定页码 的数据,默认返回全部数据 * page([1,2,3,4,5,6,7,8,9,10], 3) // 返回 [[1,2,3],[4,5,6],[7,8,9],[10]] * page([1,2,3,4,5,6,7,8,9,10], 3, 3) // 返回 [[7,8,9]] * </pre> * @param arr 数据列表 * @param pageSize 分页大小 * @param pageNo 获取第几页的数据,从1开始,默认返回全部数据,如果指定 分页页码返回指定页码 的数据, */ page<T = any>(arr: T[], pageSize: number, pageNo?: number): T[][]; /** * 获取 URL 路径中的参数 * @param url * @param key */ getUrlParam(url: string, key: string): string | number | boolean | any; /** * 获取 URL 路径中的所有参数 * @param url */ getUrlParams(url: string): QueryParams; /** * 获取 URL 路径中的 search 值 * @param url */ /** * 给定uri 解析 * @param source * @param strictMode 是否严格模式 */ parseUri(source: string | "", strictMode?: boolean): URI; /** * 解析url查询参数 并封装为 参数 对象 * @param search * @param strictMode */ parseQuery(search: string | "", strictMode?: boolean): QueryParams; /** * 获取查询参数 * @param search 查询参数,如果为空则会 从url 读取 * @param allowFromLocation 允许从 location 上获取 */ getQueryParams(search?: string, allowFromLocation?: boolean): QueryParams; /** * 新增参数到URL上 * @param url url * @param key 参数名 * @param value 参数值 * @param override 是否覆盖原有参数,默认=false * @return new url */ addParamToURL(url: string, key: string, value: any, override?: boolean): string; /** * 新增参数到URL上 * @param url url * @param params 参数对象 * @param override 是否覆盖原有参数,默认=false * @return new url */ addParamObjToURL(url: string, params: Record<any, any> | object, override?: boolean): string; /** * 删除参数到URL上 * @param url url * @param keys 参数 * @return new url **/ removeParamFromURL(url: string, keys?: string[] | string): string; /** * 字符串是否全部是中文 * @param obj */ isChinese(obj: any_str): boolean; /** * 是否为数组类型 * @param obj */ isArray(obj: any): boolean; /** * 判断是否为空 支持对象 字符串,map set array 等 * @param str */ isEmpty(str: any): boolean; /** * 判断是否为空 * @param str */ isBlank(str: any): boolean; /** * 是否为手机号 * @param str * @param contry 国家编号, 默认 cn,表示中国, us=美国 */ isMobile(str: any_str, contry?: string | 'cn'): boolean; /** * 判断是否是安卓设备 */ isAndroid(): boolean; /** * 是否为闰年 * @param str yyyy格式 */ isLeapYear(str: number | string): boolean; /** * 校验非法字符 * @param str */ isScript(str: string): boolean; /** * 判断是否为 身份证 * @param obj */ isIDCard(obj: string): boolean; /** * 从身份证获取年龄 * @param obj */ getAgeFromIDcard(obj: string): [year, moth, day] | []; /** * 判断是否为URL 这里只判断 str 必须有协议部分,比如:http://baidu.com 则返回true, //baidu.com 或者 baidu.com 返回false * @param str */ isUrl(str: any_str): boolean; /** * 判断 是否为http * @param str */ isHttp(str: any_str): boolean; /** * 判断是否为 https * @param str */ isHttps(str: any_str): boolean; /** * 是否为IP V6 * @param str */ isIPv6(str: any_str): boolean; isIPv4(str: any_str): boolean; /** * 获取当前IP * @param str * @param v6 */ isIP(str: any_str, v6?: boolean): boolean; getDPI(): number; /** * 毫米转像素 * @param mm * @param dpi 默认使用当前电脑屏幕 dpi */ mm2px(mm: number, dpi?: number): number; /** * 像素转毫米 * @param px * @param dpi 默认使用当前电脑 dpi */ px2mm(px: number, dpi?: number): number; /** * 英寸转转像素 * @param inc * @param dpi */ in2px(inc: number, dpi: number): number; /** * 像素转英寸 * @param px * @param dpi */ px2in(px: number, dpi: number): number; /** * 英寸转毫米 * @param inc */ in2mm(inc: number): number; /** * 毫米转英寸 * @param mm */ mm2in(mm: number): number; /** * 获取 innerText * @param str */ getInnerText(str: string): string; }; /** * 随机生成UUID * @param len 长度 */ export declare function uuid(len: number): string; export declare function isArrayLike(obj: any): boolean; export declare function isArray(obj: any): boolean; export declare function shuffle<T>(arr: any): any; /** * 获取随机数, 默认 字母+数组 * @param len 随机数长度 * @param typeOrSource 随机数类型:1=字母+数字, 2=数字 , 3=字母,或者自定义数据源 */ export declare function random(len?: number, typeOrSource?: RandomTypeOrSource): string; declare const _Utils_: Utils; export default _Utils_;