snu.isEmpty()
是否为空文本
判断字符串是否为空(自动去除空格)。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
str | String | 是 | - | 检测的字符串 |
返回值
类型 | 必备 | 描述 |
---|---|---|
Boolean | 是 | 如果是空文本,返回 true |
示例
typescript
snu.isEmpty(''); // true
snu.isEmpty(' '); // true
snu.isEmpty(' '); // true
snu.isEmpty('\u3000\u3000\u3000'); // true
snu.isEmpty('a'); // false
snu.len()
计算文本字数
计算文本字数。使用 emoji-regex
库,能够正确计算表情符号的数量。
参考文档:https://juejin.cn/post/7018880163257712677
Android
端和 Web
端统计字数有差异。对于含有复杂 emoji 的文本, Android
统计的字数可能会较 Web
统计的更多。主要是因为 Android
不支持 emoji-regex
正则表达式,因此只能使用 Unicode Property
匹配方案。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
str | String | 是 | - | 待计算字数的文本 |
返回值
类型 | 必备 | 描述 |
---|---|---|
Number | 是 | 返回文本的字数。 |
示例
typescript
snu.len(''); // 0
snu.len('a'); // 1
snu.len('a b'); // 3
snu.len('啊😉😭'); // 3
snu.kebabCaseToCamelCase()
Kebab命名法转小驼峰命名法
将Kebab命名法的文本转为小驼峰命名法。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
str | String | 是 | - | 待转换的字符串 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回转换后的小驼峰命名法文本 |
示例
typescript
snu.kebabCaseToCamelCase('alpha-lead'); // 'alphaLead'
snu.camelCaseToKebabCase()
小驼峰命名法转Kebab命名法
将小驼峰命名法的文本转为Kebab命名法。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
str | String | 是 | - | 待转换的字符串 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回转换后的Kebab命名法文本 |
示例
typescript
snu.camelCaseToKebabCase('alphaLead'); // 'alpha-lead'
snu.numToUpper()
数字转大写金额
将阿拉伯数字转换为中文大写金额。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
num | String | 是 | - | 待转换的数字 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回中文大写金额的字符串。 |
示例
typescript
const n = snu.numToUpper('1234567890.15')
console.log(n) // '壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元壹角伍分'
snu.encryptName()
姓名脱敏
为姓名脱敏。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
name | String | 是 | - | 待脱敏的名字 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回脱敏后的名字。 |
示例
typescript
snu.encryptName('张三'); // '张*'
snu.encryptName('张三丰'); // '张*丰'
snu.encryptName('阿尔伯特'); // '阿*特'
snu.encryptPhone()
电话号码脱敏
为电话号码脱敏。支持 11 位手机号码和座机号码。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
phone | String | 是 | - | 待脱敏的电话号码 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回脱敏后的电话号码。 |
示例
typescript
snu.encryptPhone('13800138000'); // '138****8000'
snu.encryptPhone('010-12345678'); // '010****5678'
snu.encryptIDCard()
身份证号脱敏
为身份证号脱敏。隐藏中间的11位数字,只保留前3位和后4位。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
no | String | 是 | - | 待脱敏的身份证号码 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回脱敏后的身份证号码。 |
示例
typescript
snu.encryptIDCard('350783199003058516'); // '350********8516'
snu.encryptEmail()
邮箱脱敏
为邮箱脱敏。隐藏用户名的一部分。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
String | 是 | - | 待脱敏的电子邮件地址 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回脱敏后的电子邮件地址。 |
示例
typescript
snu.encryptEmail('example@example.com'); // 'e*****e@example.com'
snu.encryptBankCard()
银行卡号脱敏
为银行卡号脱敏,隐藏中间的部分数字,只保留前3位和后4位。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
no | String | 是 | - | 待脱敏的银行卡号 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回脱敏后的银行卡号。 |
示例
typescript
snu.encryptBankCard('6222020200020200'); // '622*********0200'
snu.separateNumber()
分割数字
将数字字符串格式化为带有指定分隔符的格式,例如每三位数字后加一个逗号。
兼容性
Web | Android |
---|---|
√ | √ |
属性
名称 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
num | String | 是 | - | 输入的数字字符串。 |
digits | Number | 否 | 3 | 数字分隔的位数,默认为3。 |
separator | String | 否 | ',' | 数字分隔符,默认为逗号。 |
返回值
类型 | 必备 | 描述 |
---|---|---|
String | 是 | 返回格式化后的数字字符串。 |
示例
typescript
snu.separateNumber('1234567890'); // '1,234,567,890'
snu.separateNumber('1234567890', 4, ' '); // '12 3456 7890'