gzjs-utils
Version:
smart js utils
310 lines (309 loc) • 8.01 kB
TypeScript
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_;