@buession/prototype
Version:
A native object extension framework for Javascript.
182 lines (181 loc) • 4.5 kB
TypeScript
/**
* String 对象扩展
*/
interface String {
/**
* 判断字符串是否存在
*
* @param str 子字符串
* @return boolean
*/
exists(str: string): boolean;
/**
* 判断字符串是否相等
*
* @param str 与此 String 进行比较的对象
* @return boolean
*/
equals(str: string | undefined | null): boolean;
/**
* 判断字符串是否相等,不考虑大小写
*
* @param str 与此 String 进行比较的对象
* @return boolean
*/
equalsIgnoreCase(str: string | undefined | null): boolean;
/**
* 判断是否为空字符串
*
* @return boolean
*/
isEmpty(): boolean;
/**
* 判断是否不为空字符串
*
* @return boolean
*/
isNotEmpty(): boolean;
/**
* 判断是否为空白字符串
*
* @return boolean
*/
isBlank(): boolean;
/**
* 重复一个字符串
*
* @papram count 重复次数
* @return 重复后的字符串
*/
repeat(count: number): string;
/**
* 截取字符串左边边指定数目的字符串
*
* @param length 截取长度
* @return 子字符串
*/
left(length: number): string;
/**
* 截取字符串右边指定数目的字符串
*
* @param length 截取长度
* @return 子字符串
*/
right(length: number): string;
/**
* 截取字符串,超出部分用 truncation 替代
*
* @param length 截取长度
* @param truncation 替换字符串
* @return 截取后的字符串
* 实际截取长度:当 length 小于等于 truncation 的长度时为,length;当 length 大于 truncation 的长度时为,length - truncation.length
*/
truncation(length: number, truncation: string): string;
/**
* 删除字符串开头的空白字符
*
* @return 删除了字符串最左边的空白字符的字符串
*/
ltrim(): string;
/**
* 删除字符串结尾的空白字符
*
* @return 删除了字符串最右边的空白字符的字符串
*/
rtrim(): string;
/**
* 判断字符串是否以给定的字符串开头
*
* @param str 搜索的字符串
* @return boolean
*/
startsWith(str: string): boolean;
/**
* 判断字符串是否以给定的字符串结尾
*
* @param str 搜索的字符串
* @return boolean
*/
endsWith(str: string): boolean;
/**
* 首字母小写
*
* @return 结果字符串
*/
lcfirst(): string;
/**
* 首字母大写
*
* @return 结果字符串
*/
ucfirst(): string;
/**
* 将 HTML 编码
*
* @return 编码后的字符串
*/
escapeHTML(): string;
/**
* 将 HTML 实体字符解码
*
* @return 解码后的字符串
*/
unescapeHTML(): string;
/**
* 删除 HTML 标签
*
* @param tag
* @returns 删除标签后的字符串
*/
stripTag(tag: string): string;
/**
* 批量删除 HTML 标签
*
* @param tags 删除指定的标签
* @return 删除标签后的字符串
*/
stripTags(tags: string[] | string): string;
/**
* 删除 script 标签
*
* @return 删除 script 标签后的字符串
*/
stripScripts(): string;
/**
* 将字符串转换为数组
*
* @param delimiter 分隔字符
* @return 数组
*/
toArray(delimiter: string): string[];
/**
* 返回一个数组的字符串表示形式
*
* @param useDoubleQuotes 是否使用双引号引住
* @return 数组的字符串表示形式
*/
inspect(useDoubleQuotes: boolean): string;
/**
* 获取字符串 hash code
*
* @return 字符串 hash code
*/
hashCode(): number;
}
declare type RandomType = "NUMERIC" | "LETTER" | "LETTER_NUMERIC" | "CHINESE" | undefined;
declare var String: StringConstructor;
interface StringConstructor {
/**
* 生成随机字符串
*
* @param length 生成字符串的长度
* @param type 生成类型
* NUMERIC - 数字随机字符串
* LETTER - 英文随机字符串
* LETTER_NUMERIC - 英文数字混合随机字符串
* CHINESE - 中文随机字符串
*
* @return 生成结果
*/
random(length: number, type?: RandomType): string;
}