rtcpts 0.0.35 → 0.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,265 @@
1
+ /**
2
+ * 正则验证工具函数
3
+ */
4
+ /**
5
+ * 将正则验证函数转换为 Quasar 表单验证规则
6
+ * @param validatorFn 验证函数,返回 boolean
7
+ * @param errorMessage 错误提示信息(可以是字符串或返回字符串的函数)
8
+ * @returns Quasar 表单验证函数
9
+ * @example
10
+ * const phoneRule = createFormRule(isPhone, (t) => t('messages.formRules.phoneInvalid'));
11
+ * // 在表单中使用: :rules="[phoneRule]"
12
+ */
13
+ export declare function createFormRule(validatorFn: (value: string) => boolean, errorMessage: string | ((t?: any) => string)): (val?: any) => true | string;
14
+ /**
15
+ * 验证手机号(中国大陆)
16
+ * 支持 13x, 14x, 15x, 16x, 17x, 18x, 19x 开头的 11 位手机号
17
+ * @param phone 手机号字符串
18
+ * @returns 是否为有效手机号
19
+ * @example
20
+ * isPhone('13812345678') // true
21
+ * isPhone('12345678901') // false
22
+ */
23
+ export declare function isPhone(phone: string): boolean;
24
+ /**
25
+ * 验证邮箱地址
26
+ * @param email 邮箱字符串
27
+ * @returns 是否为有效邮箱
28
+ * @example
29
+ * isEmail('test@example.com') // true
30
+ * isEmail('test@example') // false
31
+ */
32
+ export declare function isEmail(email: string): boolean;
33
+ /**
34
+ * 验证身份证号(15位或18位)
35
+ * @param idCard 身份证号字符串
36
+ * @returns 是否为有效身份证号
37
+ * @example
38
+ * isIdCard('320123199001011234') // true
39
+ * isIdCard('320123900101123') // true (15位)
40
+ * isIdCard('123456') // false
41
+ */
42
+ export declare function isIdCard(idCard: string): boolean;
43
+ /**
44
+ * 验证银行卡号(16-19位)
45
+ * @param card 银行卡号字符串
46
+ * @returns 是否为有效银行卡号
47
+ * @example
48
+ * isBankCard('6222021234567890123') // true
49
+ * isBankCard('123456') // false
50
+ */
51
+ export declare function isBankCard(card: string): boolean;
52
+ /**
53
+ * 验证车牌号(新能源+普通)
54
+ * @param carNumber 车牌号字符串
55
+ * @returns 是否为有效车牌号
56
+ * @example
57
+ * isCarNumber('京A12345') // true
58
+ * isCarNumber('京AD12345') // true (新能源)
59
+ * isCarNumber('ABC123') // false
60
+ */
61
+ export declare function isCarNumber(carNumber: string): boolean;
62
+ /**
63
+ * 验证 URL 地址
64
+ * @param url URL字符串
65
+ * @returns 是否为有效URL
66
+ * @example
67
+ * isUrl('https://www.example.com') // true
68
+ * isUrl('http://example.com/path') // true
69
+ * isUrl('www.example.com') // false
70
+ */
71
+ export declare function isUrl(url: string): boolean;
72
+ /**
73
+ * 验证 IP 地址(IPv4)
74
+ * @param ip IP地址字符串
75
+ * @returns 是否为有效IP地址
76
+ * @example
77
+ * isIP('192.168.1.1') // true
78
+ * isIP('256.1.1.1') // false
79
+ */
80
+ export declare function isIP(ip: string): boolean;
81
+ /**
82
+ * 验证是否为纯中文
83
+ * @param str 字符串
84
+ * @returns 是否为纯中文
85
+ * @example
86
+ * isChinese('中文测试') // true
87
+ * isChinese('中文test') // false
88
+ */
89
+ export declare function isChinese(str: string): boolean;
90
+ /**
91
+ * 验证是否包含中文
92
+ * @param str 字符串
93
+ * @returns 是否包含中文
94
+ * @example
95
+ * hasChinese('中文test') // true
96
+ * hasChinese('test123') // false
97
+ */
98
+ export declare function hasChinese(str: string): boolean;
99
+ /**
100
+ * 验证是否为纯数字
101
+ * @param str 字符串
102
+ * @returns 是否为纯数字
103
+ * @example
104
+ * isNumber('123456') // true
105
+ * isNumber('123.456') // false
106
+ */
107
+ export declare function isNumber(str: string): boolean;
108
+ /**
109
+ * 验证是否为数字(包含小数)
110
+ * @param str 字符串
111
+ * @returns 是否为数字
112
+ * @example
113
+ * isNumeric('123.456') // true
114
+ * isNumeric('123') // true
115
+ * isNumeric('abc') // false
116
+ */
117
+ export declare function isNumeric(str: string): boolean;
118
+ /**
119
+ * 验证是否为正整数
120
+ * @param str 字符串
121
+ * @returns 是否为正整数
122
+ * @example
123
+ * isPositiveInteger('123') // true
124
+ * isPositiveInteger('0') // false
125
+ * isPositiveInteger('-123') // false
126
+ */
127
+ export declare function isPositiveInteger(str: string): boolean;
128
+ /**
129
+ * 验证是否为非负整数(正整数 + 0)
130
+ * @param str 字符串
131
+ * @returns 是否为非负整数
132
+ * @example
133
+ * isNonNegativeInteger('123') // true
134
+ * isNonNegativeInteger('0') // true
135
+ * isNonNegativeInteger('-123') // false
136
+ */
137
+ export declare function isNonNegativeInteger(str: string): boolean;
138
+ /**
139
+ * 验证是否为 QQ 号(5-11位数字)
140
+ * @param qq QQ号字符串
141
+ * @returns 是否为有效QQ号
142
+ * @example
143
+ * isQQ('123456789') // true
144
+ * isQQ('123') // false
145
+ */
146
+ export declare function isQQ(qq: string): boolean;
147
+ /**
148
+ * 验证是否为微信号(6-20位,字母开头,可包含字母数字下划线减号)
149
+ * @param wechat 微信号字符串
150
+ * @returns 是否为有效微信号
151
+ * @example
152
+ * isWechat('test_123') // true
153
+ * isWechat('123test') // false (不能数字开头)
154
+ */
155
+ export declare function isWechat(wechat: string): boolean;
156
+ /**
157
+ * 验证是否为邮政编码(中国)
158
+ * @param postcode 邮政编码字符串
159
+ * @returns 是否为有效邮政编码
160
+ * @example
161
+ * isPostcode('100000') // true
162
+ * isPostcode('12345') // false
163
+ */
164
+ export declare function isPostcode(postcode: string): boolean;
165
+ /**
166
+ * 验证强密码(至少8位,包含大小写字母、数字、特殊字符)
167
+ * @param password 密码字符串
168
+ * @returns 是否为强密码
169
+ * @example
170
+ * isStrongPassword('Abc123!@#') // true
171
+ * isStrongPassword('abc123') // false
172
+ */
173
+ export declare function isStrongPassword(password: string): boolean;
174
+ /**
175
+ * 验证中等强度密码(至少6位,包含字母和数字)
176
+ * @param password 密码字符串
177
+ * @returns 是否为中等强度密码
178
+ * @example
179
+ * isMediumPassword('abc123') // true
180
+ * isMediumPassword('123456') // false
181
+ */
182
+ export declare function isMediumPassword(password: string): boolean;
183
+ /**
184
+ * 验证 MAC 地址
185
+ * @param mac MAC地址字符串
186
+ * @returns 是否为有效MAC地址
187
+ * @example
188
+ * isMac('00:11:22:33:44:55') // true
189
+ * isMac('00-11-22-33-44-55') // true
190
+ * isMac('001122334455') // false
191
+ */
192
+ export declare function isMac(mac: string): boolean;
193
+ /**
194
+ * 验证端口号(1-65535)
195
+ * @param port 端口号字符串
196
+ * @returns 是否为有效端口号
197
+ * @example
198
+ * isPort('8080') // true
199
+ * isPort('65536') // false
200
+ */
201
+ export declare function isPort(port: string): boolean;
202
+ /**
203
+ * 验证 IPv6 地址
204
+ * @param ip IPv6地址字符串
205
+ * @returns 是否为有效IPv6地址
206
+ * @example
207
+ * isIPv6('2001:0db8:85a3:0000:0000:8a2e:0370:7334') // true
208
+ * isIPv6('192.168.1.1') // false
209
+ */
210
+ export declare function isIPv6(ip: string): boolean;
211
+ /**
212
+ * 验证十六进制颜色值
213
+ * @param color 颜色值字符串
214
+ * @returns 是否为有效十六进制颜色值
215
+ * @example
216
+ * isHexColor('#fff') // true
217
+ * isHexColor('#ffffff') // true
218
+ * isHexColor('fff') // false
219
+ */
220
+ export declare function isHexColor(color: string): boolean;
221
+ /**
222
+ * 创建手机号表单验证规则
223
+ * @param errorMessage 错误提示信息
224
+ * @returns Quasar 表单验证函数
225
+ * @example
226
+ * // 在组件中使用
227
+ * :rules="[jqTool.regex.phoneRule((t) => t('messages.formRules.phoneInvalid'))]"
228
+ */
229
+ export declare function phoneRule(errorMessage?: string | ((t?: any) => string)): (val?: any) => true | string;
230
+ /**
231
+ * 创建邮箱表单验证规则
232
+ * @param errorMessage 错误提示信息
233
+ * @returns Quasar 表单验证函数
234
+ */
235
+ export declare function emailRule(errorMessage?: string | ((t?: any) => string)): (val?: any) => true | string;
236
+ /**
237
+ * 创建身份证号表单验证规则
238
+ * @param errorMessage 错误提示信息
239
+ * @returns Quasar 表单验证函数
240
+ */
241
+ export declare function idCardRule(errorMessage?: string | ((t?: any) => string)): (val?: any) => true | string;
242
+ /**
243
+ * 创建银行卡号表单验证规则
244
+ * @param errorMessage 错误提示信息
245
+ * @returns Quasar 表单验证函数
246
+ */
247
+ export declare function bankCardRule(errorMessage?: string | ((t?: any) => string)): (val?: any) => true | string;
248
+ /**
249
+ * 创建车牌号表单验证规则
250
+ * @param errorMessage 错误提示信息
251
+ * @returns Quasar 表单验证函数
252
+ */
253
+ export declare function carNumberRule(errorMessage?: string | ((t?: any) => string)): (val?: any) => true | string;
254
+ /**
255
+ * 创建 URL 表单验证规则
256
+ * @param errorMessage 错误提示信息
257
+ * @returns Quasar 表单验证函数
258
+ */
259
+ export declare function urlRule(errorMessage?: string | ((t?: any) => string)): (val?: any) => true | string;
260
+ /**
261
+ * 创建 IP 地址表单验证规则
262
+ * @param errorMessage 错误提示信息
263
+ * @returns Quasar 表单验证函数
264
+ */
265
+ export declare function ipRule(errorMessage?: string | ((t?: any) => string)): (val?: any) => true | string;
@@ -0,0 +1,248 @@
1
+ /**
2
+ * 字符串处理工具函数
3
+ */
4
+ /**
5
+ * 手机号脱敏
6
+ * @param phone 手机号
7
+ * @returns 脱敏后的手机号,格式:138****5678
8
+ * @example
9
+ * phoneDesensitize('13812345678') // '138****5678'
10
+ */
11
+ export declare function phoneDesensitize(phone: string): string;
12
+ /**
13
+ * 身份证号脱敏
14
+ * @param idCard 身份证号
15
+ * @returns 脱敏后的身份证号,格式:320***********1234
16
+ * @example
17
+ * idCardDesensitize('320123199001011234') // '320***********1234'
18
+ */
19
+ export declare function idCardDesensitize(idCard: string): string;
20
+ /**
21
+ * 姓名脱敏
22
+ * @param name 姓名
23
+ * @returns 脱敏后的姓名,格式:张** 或 欧阳**
24
+ * @example
25
+ * nameDesensitize('张三') // '张*'
26
+ * nameDesensitize('欧阳锋') // '欧阳*'
27
+ * nameDesensitize('司马懿') // '司马*'
28
+ */
29
+ export declare function nameDesensitize(name: string): string;
30
+ /**
31
+ * 银行卡号脱敏
32
+ * @param card 银行卡号
33
+ * @returns 脱敏后的银行卡号,格式:6222 **** **** 1234
34
+ * @example
35
+ * bankCardDesensitize('6222021234567890123') // '6222 **** **** 0123'
36
+ */
37
+ export declare function bankCardDesensitize(card: string): string;
38
+ /**
39
+ * 邮箱脱敏
40
+ * @param email 邮箱地址
41
+ * @returns 脱敏后的邮箱,格式:t***@example.com
42
+ * @example
43
+ * emailDesensitize('test@example.com') // 't***@example.com'
44
+ */
45
+ export declare function emailDesensitize(email: string): string;
46
+ /**
47
+ * 地址脱敏
48
+ * @param address 地址
49
+ * @param keepLength 保留前面多少个字符,默认 6
50
+ * @returns 脱敏后的地址
51
+ * @example
52
+ * addressDesensitize('北京市朝阳区xxx街道xxx号') // '北京市朝阳区***'
53
+ */
54
+ export declare function addressDesensitize(address: string, keepLength?: number): string;
55
+ /**
56
+ * 首字母大写
57
+ * @param str 字符串
58
+ * @returns 首字母大写的字符串
59
+ * @example
60
+ * capitalize('hello') // 'Hello'
61
+ */
62
+ export declare function capitalize(str: string): string;
63
+ /**
64
+ * 每个单词首字母大写
65
+ * @param str 字符串
66
+ * @returns 每个单词首字母大写的字符串
67
+ * @example
68
+ * capitalizeWords('hello world') // 'Hello World'
69
+ */
70
+ export declare function capitalizeWords(str: string): string;
71
+ /**
72
+ * 下划线转驼峰
73
+ * @param str 下划线字符串
74
+ * @returns 驼峰格式字符串
75
+ * @example
76
+ * toCamelCase('user_name') // 'userName'
77
+ * toCamelCase('user_name_list') // 'userNameList'
78
+ */
79
+ export declare function toCamelCase(str: string): string;
80
+ /**
81
+ * 驼峰转下划线
82
+ * @param str 驼峰字符串
83
+ * @returns 下划线格式字符串
84
+ * @example
85
+ * toUnderlineCase('userName') // 'user_name'
86
+ * toUnderlineCase('userNameList') // 'user_name_list'
87
+ */
88
+ export declare function toUnderlineCase(str: string): string;
89
+ /**
90
+ * 驼峰转中划线
91
+ * @param str 驼峰字符串
92
+ * @returns 中划线格式字符串
93
+ * @example
94
+ * toKebabCase('userName') // 'user-name'
95
+ */
96
+ export declare function toKebabCase(str: string): string;
97
+ /**
98
+ * 千分位格式化数字
99
+ * @param num 数字或数字字符串
100
+ * @returns 千分位格式的字符串
101
+ * @example
102
+ * formatNumber(1234567) // '1,234,567'
103
+ * formatNumber(1234567.89) // '1,234,567.89'
104
+ */
105
+ export declare function formatNumber(num: number | string): string;
106
+ /**
107
+ * 金额格式化
108
+ * @param amount 金额
109
+ * @param options 配置选项
110
+ * @returns 格式化后的金额字符串
111
+ * @example
112
+ * formatMoney(1234.56) // '¥1,234.56'
113
+ * formatMoney(1234.56, { currency: '$', decimals: 2 }) // '$1,234.56'
114
+ * formatMoney(1234, { decimals: 0 }) // '¥1,234'
115
+ */
116
+ export declare function formatMoney(amount: number | string, options?: {
117
+ currency?: string;
118
+ decimals?: number;
119
+ thousandsSeparator?: string;
120
+ decimalSeparator?: string;
121
+ }): string;
122
+ /**
123
+ * 格式化文件大小
124
+ * @param bytes 字节数
125
+ * @param decimals 保留小数位数,默认 2
126
+ * @returns 格式化后的文件大小字符串
127
+ * @example
128
+ * formatFileSize(1024) // '1.00 KB'
129
+ * formatFileSize(1234567) // '1.18 MB'
130
+ */
131
+ export declare function formatFileSize(bytes: number, decimals?: number): string;
132
+ /**
133
+ * 格式化银行卡号(添加空格)
134
+ * @param card 银行卡号
135
+ * @returns 格式化后的银行卡号,每 4 位一个空格
136
+ * @example
137
+ * formatBankCard('6222021234567890') // '6222 0212 3456 7890'
138
+ */
139
+ export declare function formatBankCard(card: string): string;
140
+ /**
141
+ * 格式化手机号(添加空格)
142
+ * @param phone 手机号
143
+ * @returns 格式化后的手机号,格式:138 1234 5678
144
+ * @example
145
+ * formatPhone('13812345678') // '138 1234 5678'
146
+ */
147
+ export declare function formatPhone(phone: string): string;
148
+ /**
149
+ * 生成随机字符串
150
+ * @param length 字符串长度
151
+ * @param type 字符类型:'alpha' | 'number' | 'alphanumeric'
152
+ * @returns 随机字符串
153
+ * @example
154
+ * randomString(8) // 'aB3dE9fG'
155
+ * randomString(6, 'alpha') // 'aBcDeF'
156
+ * randomString(6, 'number') // '123456'
157
+ */
158
+ export declare function randomString(length?: number, type?: 'alpha' | 'number' | 'alphanumeric'): string;
159
+ /**
160
+ * 生成唯一 ID(基于时间戳和随机数)
161
+ * @param prefix 前缀
162
+ * @returns 唯一 ID
163
+ * @example
164
+ * generateUUID() // '1704067200000_a3b2c1'
165
+ * generateUUID('user') // 'user_1704067200000_a3b2c1'
166
+ */
167
+ export declare function generateUUID(prefix?: string): string;
168
+ /**
169
+ * 截断字符串
170
+ * @param str 字符串
171
+ * @param maxLength 最大长度
172
+ * @param suffix 后缀,默认 '...'
173
+ * @returns 截断后的字符串
174
+ * @example
175
+ * truncate('这是一个很长的字符串', 5) // '这是一个很...'
176
+ */
177
+ export declare function truncate(str: string, maxLength: number, suffix?: string): string;
178
+ /**
179
+ * 移除字符串中的 HTML 标签
180
+ * @param html HTML 字符串
181
+ * @returns 纯文本字符串
182
+ * @example
183
+ * removeHtmlTags('<p>Hello <strong>World</strong></p>') // 'Hello World'
184
+ */
185
+ export declare function removeHtmlTags(html: string): string;
186
+ /**
187
+ * 转义 HTML 特殊字符
188
+ * @param html HTML 字符串
189
+ * @returns 转义后的字符串
190
+ * @example
191
+ * escapeHtml('<div>Hello & "World"</div>') // '&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;'
192
+ */
193
+ export declare function escapeHtml(html: string): string;
194
+ /**
195
+ * 反转义 HTML 特殊字符
196
+ * @param html 转义后的 HTML 字符串
197
+ * @returns 原始字符串
198
+ * @example
199
+ * unescapeHtml('&lt;div&gt;Hello &amp; &quot;World&quot;&lt;/div&gt;') // '<div>Hello & "World"</div>'
200
+ */
201
+ export declare function unescapeHtml(html: string): string;
202
+ /**
203
+ * 判断字符串是否为空(null、undefined、空字符串、仅空格)
204
+ * @param str 字符串
205
+ * @returns 是否为空
206
+ * @example
207
+ * isEmpty('') // true
208
+ * isEmpty(' ') // true
209
+ * isEmpty('hello') // false
210
+ */
211
+ export declare function isEmpty(str: string | null | undefined): boolean;
212
+ /**
213
+ * 反转字符串
214
+ * @param str 字符串
215
+ * @returns 反转后的字符串
216
+ * @example
217
+ * reverse('hello') // 'olleh'
218
+ */
219
+ export declare function reverse(str: string): string;
220
+ /**
221
+ * 重复字符串
222
+ * @param str 字符串
223
+ * @param count 重复次数
224
+ * @returns 重复后的字符串
225
+ * @example
226
+ * repeat('ab', 3) // 'ababab'
227
+ */
228
+ export declare function repeat(str: string, count: number): string;
229
+ /**
230
+ * 补齐字符串(左侧)
231
+ * @param str 字符串
232
+ * @param length 目标长度
233
+ * @param char 填充字符,默认空格
234
+ * @returns 补齐后的字符串
235
+ * @example
236
+ * padStart('5', 3, '0') // '005'
237
+ */
238
+ export declare function padStart(str: string, length: number, char?: string): string;
239
+ /**
240
+ * 补齐字符串(右侧)
241
+ * @param str 字符串
242
+ * @param length 目标长度
243
+ * @param char 填充字符,默认空格
244
+ * @returns 补齐后的字符串
245
+ * @example
246
+ * padEnd('5', 3, '0') // '500'
247
+ */
248
+ export declare function padEnd(str: string, length: number, char?: string): string;