1 | /**
|
2 | * String 对象扩展
|
3 | */
|
4 | interface String {
|
5 | /**
|
6 | * 判断字符串是否存在
|
7 | *
|
8 | * @param str 子字符串
|
9 | * @return boolean
|
10 | */
|
11 | exists(str: string): boolean;
|
12 | /**
|
13 | * 判断字符串是否相等
|
14 | *
|
15 | * @param str 与此 String 进行比较的对象
|
16 | * @return boolean
|
17 | */
|
18 | equals(str: string | undefined | null): boolean;
|
19 | /**
|
20 | * 判断字符串是否相等,不考虑大小写
|
21 | *
|
22 | * @param str 与此 String 进行比较的对象
|
23 | * @return boolean
|
24 | */
|
25 | equalsIgnoreCase(str: string | undefined | null): boolean;
|
26 | /**
|
27 | * 判断是否为空字符串
|
28 | *
|
29 | * @return boolean
|
30 | */
|
31 | isEmpty(): boolean;
|
32 | /**
|
33 | * 判断是否不为空字符串
|
34 | *
|
35 | * @return boolean
|
36 | */
|
37 | isNotEmpty(): boolean;
|
38 | /**
|
39 | * 判断是否为空白字符串
|
40 | *
|
41 | * @return boolean
|
42 | */
|
43 | isBlank(): boolean;
|
44 | /**
|
45 | * 重复一个字符串
|
46 | *
|
47 | * @papram count 重复次数
|
48 | * @return 重复后的字符串
|
49 | */
|
50 | repeat(count: number): string;
|
51 | /**
|
52 | * 截取字符串左边边指定数目的字符串
|
53 | *
|
54 | * @param length 截取长度
|
55 | * @return 子字符串
|
56 | */
|
57 | left(length: number): string;
|
58 | /**
|
59 | * 截取字符串右边指定数目的字符串
|
60 | *
|
61 | * @param length 截取长度
|
62 | * @return 子字符串
|
63 | */
|
64 | right(length: number): string;
|
65 | /**
|
66 | * 截取字符串,超出部分用 truncation 替代
|
67 | *
|
68 | * @param length 截取长度
|
69 | * @param truncation 替换字符串
|
70 | * @return 截取后的字符串
|
71 | * 实际截取长度:当 length 小于等于 truncation 的长度时为,length;当 length 大于 truncation 的长度时为,length - truncation.length
|
72 | */
|
73 | truncation(length: number, truncation: string): string;
|
74 | /**
|
75 | * 删除字符串开头的空白字符
|
76 | *
|
77 | * @return 删除了字符串最左边的空白字符的字符串
|
78 | */
|
79 | ltrim(): string;
|
80 | /**
|
81 | * 删除字符串结尾的空白字符
|
82 | *
|
83 | * @return 删除了字符串最右边的空白字符的字符串
|
84 | */
|
85 | rtrim(): string;
|
86 | /**
|
87 | * 判断字符串是否以给定的字符串开头
|
88 | *
|
89 | * @param str 搜索的字符串
|
90 | * @return boolean
|
91 | */
|
92 | startsWith(str: string): boolean;
|
93 | /**
|
94 | * 判断字符串是否以给定的字符串结尾
|
95 | *
|
96 | * @param str 搜索的字符串
|
97 | * @return boolean
|
98 | */
|
99 | endsWith(str: string): boolean;
|
100 | /**
|
101 | * 首字母小写
|
102 | *
|
103 | * @return 结果字符串
|
104 | */
|
105 | lcfirst(): string;
|
106 | /**
|
107 | * 首字母大写
|
108 | *
|
109 | * @return 结果字符串
|
110 | */
|
111 | ucfirst(): string;
|
112 | /**
|
113 | * 将 HTML 编码
|
114 | *
|
115 | * @return 编码后的字符串
|
116 | */
|
117 | escapeHTML(): string;
|
118 | /**
|
119 | * 将 HTML 实体字符解码
|
120 | *
|
121 | * @return 解码后的字符串
|
122 | */
|
123 | unescapeHTML(): string;
|
124 | /**
|
125 | * 删除 HTML 标签
|
126 | *
|
127 | * @param tag
|
128 | * @returns 删除标签后的字符串
|
129 | */
|
130 | stripTag(tag: string): string;
|
131 | /**
|
132 | * 批量删除 HTML 标签
|
133 | *
|
134 | * @param tags 删除指定的标签
|
135 | * @return 删除标签后的字符串
|
136 | */
|
137 | stripTags(tags: string[] | string): string;
|
138 | /**
|
139 | * 删除 script 标签
|
140 | *
|
141 | * @return 删除 script 标签后的字符串
|
142 | */
|
143 | stripScripts(): string;
|
144 | /**
|
145 | * 将字符串转换为数组
|
146 | *
|
147 | * @param delimiter 分隔字符
|
148 | * @return 数组
|
149 | */
|
150 | toArray(delimiter: string): string[];
|
151 | /**
|
152 | * 返回一个数组的字符串表示形式
|
153 | *
|
154 | * @param useDoubleQuotes 是否使用双引号引住
|
155 | * @return 数组的字符串表示形式
|
156 | */
|
157 | inspect(useDoubleQuotes: boolean): string;
|
158 | /**
|
159 | * 获取字符串 hash code
|
160 | *
|
161 | * @return 字符串 hash code
|
162 | */
|
163 | hashCode(): number;
|
164 | }
|
165 | declare type RandomType = "NUMERIC" | "LETTER" | "LETTER_NUMERIC" | "CHINESE" | undefined;
|
166 | declare var String: StringConstructor;
|
167 | interface StringConstructor {
|
168 | /**
|
169 | * 生成随机字符串
|
170 | *
|
171 | * @param length 生成字符串的长度
|
172 | * @param type 生成类型
|
173 | * NUMERIC - 数字随机字符串
|
174 | * LETTER - 英文随机字符串
|
175 | * LETTER_NUMERIC - 英文数字混合随机字符串
|
176 | * CHINESE - 中文随机字符串
|
177 | *
|
178 | * @return 生成结果
|
179 | */
|
180 | random(length: number, type?: RandomType): string;
|
181 | }
|