Skip to content

字符串String

byteSize

获取字符串的字节长度

类型说明

INFO

function byteSize(str: any): number;

参数

  • str 传入参数, 如果参数不是字符串,会先调用toString方法

返回

  • number

TIP

字符串

示例

ts
byteSize('fred') // 4
ts
byteSize('你好!') // 7

生僻汉字

ts
byteSize('𠮷') // 4

参数不是字符串,会先调用toString方法

ts
byteSize(true) // '4'

源码

Ts

export default function byteSize(str: any): number {
  return new Blob([str.toString()]).size
}
Js
export default function byteSize(str) {
  return new Blob([str.toString()]).size;
}

mask

字符串替换

使用指定的掩码字符替换start~length之间的所有字符

类型说明

INFO

function mask(str: string, start?: number, length?: number, mask?: string): string;

参数

  • str 传入参数, 如果参数不是字符串,会先调用toString方法
  • start 开始下标
  • length 长度
  • mask 掩码字符 默认*

返回

  • string

TIP

字符串

异常

DANGER

start 必须是数字 start不是数字时触发

DANGER

length 必须是数字 length存在且不是数字时触发

DANGER

mask 必须是字符串 mask不是字符串时触发

示例

ts
mask('123456') // => '******'

设置开始位置

ts
mask('123456', 2) // => '12****'

设置长度

ts
mask('123456', 2, 3) // => '12***6'

修改掩码字符

ts
mask('123456', 2, 3, '.') // => '12...6'

源码

Ts
import isNumber from '@/verify/isNumber'
import isString from '@/verify/isString'
export default function mask(str: string, start = 0, length = Infinity, mask = '*'): string {
  if (!isNumber(start)) throw 'start 必须是数字'
  if (!isNumber(length)) throw 'length 必须是数字'
  if (!isString(mask)) throw 'mask 必须是字符串'
  str = str.toString()
  const val = str.slice(start, length + start)
  return str.replace(val, ''.padEnd(val.length, mask))
}
Js
import isNumber from '@/verify/isNumber';
import isString from '@/verify/isString';
export default function mask(str, start = 0, length = Infinity, mask2 = '*') {
  if (!isNumber(start)) throw 'start 必须是数字';
  if (!isNumber(length)) throw 'length 必须是数字';
  if (!isString(mask2)) throw 'mask 必须是字符串';
  str = str.toString();
  const val = str.slice(start, length + start);
  return str.replace(val, ''.padEnd(val.length, mask2));
}

removeHTML

移除字符串中的html标签

类型说明

INFO

function removeHTML(str: any): string;

参数

  • str 传入参数, 如果参数不是字符串,会先调用toString方法

返回

  • string

TIP

字符串

示例

ts
removeHTML('<p>这是<em>一个</em>段落。</p>') // => 这是一个段落。

转义符也会被去除

ts
removeHTML('<p>这是<em>一个</em>段落。&nbsp;</p>') // => 这是一个段落。

参数不是字符串,会先调用toString方法

ts
removeHTML(true) // 'true'

源码

Ts

export default function removeHTML(str: any): string {
  const escapeReg =
    /&(lt|gt|le|ge|nbsp|amp|quot|times|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|MU|NU|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|circ|tilde|ndash|permil|lsquo|rsquo|ldquo|rdquo|prime);/gi
  return str.toString()
    .replace(/<[^>]+>/g, '')
    .replace(escapeReg, '')
    .trim()
}
Js
export default function removeHTML(str) {
  const escapeReg = /&(lt|gt|le|ge|nbsp|amp|quot|times|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|MU|NU|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|circ|tilde|ndash|permil|lsquo|rsquo|ldquo|rdquo|prime);/gi;
  return str.toString().replace(/<[^>]+>/g, '').replace(escapeReg, '').trim();
}

upperFirst

首字母大写

类型说明

INFO

function upperFirst(str: any): string;

参数

  • str 传入参数, 如果参数不是字符串,会先调用toString方法

返回

  • string

TIP

字符串

示例

ts
upperFirst('fred') // 'Fred'

自定义时间

ts
upperFirst('FRED') // 'FRED'

参数不是字符串,会先调用toString方法

ts
upperFirst(true) // 'True'

源码

Ts

export default function upperFirst(str: any): string {
  return (str as string).toString().replace(/(\w)/, $1 => $1.toLocaleUpperCase())
}
Js
export default function upperFirst(str) {
  return str.toString().replace(/(\w)/, ($1) => $1.toLocaleUpperCase());
}

isString

判断是否为字符串

类型说明

INFO

function isString(value: any): boolean;

参数

  • value 任意值

返回

  • boolean

TIP

true | false

示例

验证通过

ts
isString('abc') => true

验证失败

ts
isString(123) => false

源码

Ts
import typeOf from '@/common/typeOf'
export default function isString(value: any): boolean {
  return typeOf(value) === 'String'
}
Js
import typeOf from '@/common/typeOf';
export default function isString(value) {
  return typeOf(value) === 'String';
}