snu.isEmpty()
判断字符串是否为空
判断字符串是否为空或仅含空白字符(null、''、空格等均视为空)。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| str | String/null | 是 | - | 待判断的字符串 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| Boolean | 是 | 是否为空或空白 |
示例
let r1 = snu.isEmpty('') // true
let r2 = snu.isEmpty(' x ') // falsesnu.len()
计算字符串长度
计算字符串长度。按字符计数,其中 emoji 表情按一个字符计算(默认 length 会把 emoji 拆成多个码元)。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| str | String | 是 | - | 待计数的字符串 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| Number | 是 | 字符串长度(emoji 算 1) |
示例
let n = snu.len('你好😀') // 3snu.kebabCaseToCamelCase()
kebab-case 转驼峰
将 kebab-case(短横线)写法转换为 camelCase(小驼峰)。字符串中不含 - 时原样返回。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| str | String | 是 | - | kebab-case 字符串(如 'my-key') |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 转换后的小驼峰字符串 |
示例
let s = snu.kebabCaseToCamelCase('my-key') // 'myKey'snu.camelCaseToKebabCase()
驼峰转 kebab-case
将 camelCase(驼峰)写法转换为 kebab-case(短横线,全小写)。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| str | String | 是 | - | 驼峰字符串(如 'myKey') |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 转换后的 kebab-case 字符串 |
示例
let s = snu.camelCaseToKebabCase('myKey') // 'my-key'snu.roundAmount()
金额取整
对金额进行四舍五入/向上/向下/截断取整,并补足指定位小数,返回格式化后的字符串。mode 决定取整方式:
round:四舍五入ceil:向上取整floor:向下取整trunc:直接截断(舍弃多余小数位)
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| value | String/Number | 是 | - | 金额值 |
| decimals | Number | 否 | 2 | 保留的小数位数 |
| mode | String | 否 | 'round' | 取整方式:round / ceil / floor / trunc |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 取整并补足小数位后的金额字符串 |
示例
let a = snu.roundAmount('123.456', 2, 'round') // '123.46'
let b = snu.roundAmount('123.451', 2, 'ceil') // '123.46'
let c = snu.roundAmount('123.456', 2, 'trunc') // '123.45'snu.numToUpper()
数字转中文大写
将数字字符串转换为中文大写(壹贰叁…)带单位表示。非法数据返回 'Illegal Data'。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| num | String | 是 | - | 数字字符串 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 中文大写形式;非法时 'Illegal Data' |
示例
let s = snu.numToUpper('1001')snu.numToUpperAmount()
金额转中文大写
将金额转换为中文大写金额(含"元角分"),如 123.45 → 壹佰贰拾叁元肆角伍分。非法或超限数据返回 'Illegal Data'。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| value | String/Number | 是 | - | 金额值 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 中文大写金额;非法时 'Illegal Data' |
示例
let s = snu.numToUpperAmount(123.45)snu.encryptName()
姓名脱敏
对姓名进行脱敏处理:两个字的姓名保留首字,第二个字用 * 替代;超过两个字的保留首尾字,中间用 * 替代;两个字符以内的原样返回。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| name | String | 是 | - | 姓名 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 脱敏后的姓名 |
示例
let s = snu.encryptName('张三三') // '张*三'snu.encryptPhone()
手机号脱敏
对手机号/电话号码进行脱敏。11 位纯数字手机号保留前 3 后 4(138****1234);10/11 位带区号的号码按区号长度保留首尾;其余降级为保留首尾各 1 位其余用 * 替代。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| phone | String | 是 | - | 手机号/电话号码 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 脱敏后的号码 |
示例
let s = snu.encryptPhone('13812345678') // '138****5678'snu.encryptIDCard()
身份证号脱敏
对 18 位身份证号进行脱敏,保留前 3 位和后 4 位,中间用 * 替代(110***********1234)。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| no | String | 是 | - | 身份证号 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 脱敏后的身份证号 |
示例
let s = snu.encryptIDCard('110101199003071234')snu.encryptEmail()
邮箱脱敏
对邮箱进行脱敏:用户名保留首尾字符、中间用 * 替代;用户名为 1 位时直接 *@域名。不含 @ 时原样返回。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| String | 是 | - | 邮箱地址 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 脱敏后的邮箱 |
示例
let s = snu.encryptEmail('test@example.com') // 't**t@example.com'snu.encryptBankCard()
银行卡号脱敏
对银行卡号进行脱敏:8 位及以上保留前 3 后 4,中间用 * 替代;8 位以下保留首尾各 1 位。先去空格与 -。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| no | String | 是 | - | 银行卡号 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 脱敏后的卡号 |
示例
let s = snu.encryptBankCard('6222021234567890') // '622***********7890'snu.separateNumber()
数字千分位分隔
为数字字符串添加千分位分隔符(默认每 3 位加逗号),保留原有小数部分与符号。digits 不能为 0 且需为纯数字字符串,否则抛出 UniError。
兼容性
| Web | Android |
|---|---|
| √ | √ |
属性
| 名称 | 类型 | 必备 | 默认值 | 描述 |
|---|---|---|---|---|
| num | String | 是 | - | 数字字符串(如 '1234567.89') |
| digits | Number | 否 | 3 | 每组分隔的位数 |
| separator | String | 否 | ',' | 分隔符 |
返回值
| 类型 | 必备 | 描述 |
|---|---|---|
| String | 是 | 千分位分隔后的字符串 |
示例
let s = snu.separateNumber('1000000.50', 3, ',') // '1,000,000.50'