Skip to content

snu.isEmpty() ​

判断字符串是否为空 ​

判断字符串是否为空或仅含空白字符(null、''、空格等均视为空)。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
strString/null是-待判断的字符串

返回值 ​

类型必备描述
Boolean是是否为空或空白

示例 ​

typescript
let r1 = snu.isEmpty('')     // true
let r2 = snu.isEmpty(' x ')  // false

snu.len() ​

计算字符串长度 ​

计算字符串长度。按字符计数,其中 emoji 表情按一个字符计算(默认 length 会把 emoji 拆成多个码元)。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
strString是-待计数的字符串

返回值 ​

类型必备描述
Number是字符串长度(emoji 算 1)

示例 ​

typescript
let n = snu.len('你好😀') // 3

snu.kebabCaseToCamelCase() ​

kebab-case 转驼峰 ​

将 kebab-case(短横线)写法转换为 camelCase(小驼峰)。字符串中不含 - 时原样返回。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
strString是-kebab-case 字符串(如 'my-key')

返回值 ​

类型必备描述
String是转换后的小驼峰字符串

示例 ​

typescript
let s = snu.kebabCaseToCamelCase('my-key') // 'myKey'

snu.camelCaseToKebabCase() ​

驼峰转 kebab-case ​

将 camelCase(驼峰)写法转换为 kebab-case(短横线,全小写)。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
strString是-驼峰字符串(如 'myKey')

返回值 ​

类型必备描述
String是转换后的 kebab-case 字符串

示例 ​

typescript
let s = snu.camelCaseToKebabCase('myKey') // 'my-key'

snu.roundAmount() ​

金额取整 ​

对金额进行四舍五入/向上/向下/截断取整,并补足指定位小数,返回格式化后的字符串。mode 决定取整方式:

  • round:四舍五入
  • ceil:向上取整
  • floor:向下取整
  • trunc:直接截断(舍弃多余小数位)

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
valueString/Number是-金额值
decimalsNumber否2保留的小数位数
modeString否'round'取整方式:round / ceil / floor / trunc

返回值 ​

类型必备描述
String是取整并补足小数位后的金额字符串

示例 ​

typescript
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'。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
numString是-数字字符串

返回值 ​

类型必备描述
String是中文大写形式;非法时 'Illegal Data'

示例 ​

typescript
let s = snu.numToUpper('1001')

snu.numToUpperAmount() ​

金额转中文大写 ​

将金额转换为中文大写金额(含"元角分"),如 123.45 → 壹佰贰拾叁元肆角伍分。非法或超限数据返回 'Illegal Data'。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
valueString/Number是-金额值

返回值 ​

类型必备描述
String是中文大写金额;非法时 'Illegal Data'

示例 ​

typescript
let s = snu.numToUpperAmount(123.45)

snu.encryptName() ​

姓名脱敏 ​

对姓名进行脱敏处理:两个字的姓名保留首字,第二个字用 * 替代;超过两个字的保留首尾字,中间用 * 替代;两个字符以内的原样返回。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
nameString是-姓名

返回值 ​

类型必备描述
String是脱敏后的姓名

示例 ​

typescript
let s = snu.encryptName('张三三') // '张*三'

snu.encryptPhone() ​

手机号脱敏 ​

对手机号/电话号码进行脱敏。11 位纯数字手机号保留前 3 后 4(138****1234);10/11 位带区号的号码按区号长度保留首尾;其余降级为保留首尾各 1 位其余用 * 替代。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
phoneString是-手机号/电话号码

返回值 ​

类型必备描述
String是脱敏后的号码

示例 ​

typescript
let s = snu.encryptPhone('13812345678') // '138****5678'

snu.encryptIDCard() ​

身份证号脱敏 ​

对 18 位身份证号进行脱敏,保留前 3 位和后 4 位,中间用 * 替代(110***********1234)。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
noString是-身份证号

返回值 ​

类型必备描述
String是脱敏后的身份证号

示例 ​

typescript
let s = snu.encryptIDCard('110101199003071234')

snu.encryptEmail() ​

邮箱脱敏 ​

对邮箱进行脱敏:用户名保留首尾字符、中间用 * 替代;用户名为 1 位时直接 *@域名。不含 @ 时原样返回。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
emailString是-邮箱地址

返回值 ​

类型必备描述
String是脱敏后的邮箱

示例 ​

typescript
let s = snu.encryptEmail('test@example.com') // 't**t@example.com'

snu.encryptBankCard() ​

银行卡号脱敏 ​

对银行卡号进行脱敏:8 位及以上保留前 3 后 4,中间用 * 替代;8 位以下保留首尾各 1 位。先去空格与 -。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
noString是-银行卡号

返回值 ​

类型必备描述
String是脱敏后的卡号

示例 ​

typescript
let s = snu.encryptBankCard('6222021234567890') // '622***********7890'

snu.separateNumber() ​

数字千分位分隔 ​

为数字字符串添加千分位分隔符(默认每 3 位加逗号),保留原有小数部分与符号。digits 不能为 0 且需为纯数字字符串,否则抛出 UniError。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
numString是-数字字符串(如 '1234567.89')
digitsNumber否3每组分隔的位数
separatorString否','分隔符

返回值 ​

类型必备描述
String是千分位分隔后的字符串

示例 ​

typescript
let s = snu.separateNumber('1000000.50', 3, ',') // '1,000,000.50'

使用 MIT 协议