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-金额值
decimalsNumber2保留的小数位数
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'
digitsNumber3每组分隔的位数
separatorString','分隔符

返回值

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

示例

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

使用 MIT 协议