数据格式化
pnpm add @shencom/utils
# or
pnpm add @shencom/utils-formatter
import {
Commafy,
FillZeroEnd,
FillZeroStart,
HideIdCard,
HidePhoneNumber,
StringReplace,
} from '@shencom/utils-formatter';
Commafy
-
说明: 格式化千分位分隔符、小数位
-
类型:
(val: string | number, options: number | Partial<CommafyOptions>) => string
-
参数:
-
val
- 数值 -
options
- 格式化参数:number
仅指定精度(小位数),CommafyOptions
格式化处理详细配置
-
CommafyOptions
参数 说明 类型 默认值 spaceNumber 分割位数 number 3
separator 分隔符 string ,
precision 精度 number 2
handle 小数位数据处理方式 CommafyHandleType | ((val: number) => number)自定义处理函数 round
CommafyHandleType
- round 只对 number 类型有效,四舍五入
- ceil 只对 number 类型有效,向上舍入
- floor 只对 number 类型有效,向下舍入
- intercept 截断小数位,不做数据处理
- 示例:
Commafy(1000, 0); // '1,000' Commafy(1000.555); // '1,000.56'; Commafy(1000.555, { handle: 'intercept' }); // '1,000.55'; Commafy(-22456.285, 2); // '-22,456.28' Commafy(-22456.286, { handle: (val) => val + 0.001 }); // '-22,456.28'
BankCard
-
说明: 格式化银行卡号,每4位分割
-
类型:
(num: string) => string
-
参数:
-
num
- 银行卡号
-
-
示例:
BankCard('6227002126191687706'); // '6227 0021 2619 1687 706' BankCard('622700212'); // '6227 0021 2'
FillZeroStart
-
说明: 头部补零
-
类型:
(num: number, size: number) => string
-
参数:
-
num
- 需补 0 的数值 -
size
- 加上 0 后的总长度,小数点也包含在内,若传入长度超出指定长度,则返回原数值的字符串
-
-
示例:
FillZeroStart(15, 3); // '015' FillZeroStart(115, 3); // '115' FillZeroStart(5.3, 3); // '5.3' FillZeroStart(-1, 3); // '-1'
FillZeroEnd
-
说明: 尾部补零
-
类型:
(num: number, size: number) => string
-
参数:
-
num
- 需补 0 的数值 -
size
- 加上 0 后的总长度,小数点也包含在内,若传入长度超出指定长度,则返回原数值的字符串
-
-
示例:
FillZeroEnd(15, 3); // '150' FillZeroEnd(115, 3); // '115' FillZeroEnd(5.3, 3); // '5.3' FillZeroEnd(-1, 3); // '-10'
HidePhoneNumber
-
说明: 隐藏手机号中间信息
-
类型:
(val: string) => string
-
参数:
-
val
- 手机号
-
-
示例:
HidePhoneNumber('13818341008'); // '138****1008'
HidePhoneNumber
-
说明: 隐藏身份证中间信息
-
类型:
(val: string) => string
-
参数:
-
val
- 身份证号码
-
-
示例:
HideIdCard('110101199003075736'); // '1101******5736'
StringReplace
-
说明: 字符串替换
-
类型:
(str: string, symbol = '*') => string
-
参数:
-
str
- 字符串 -
symbol
- 替换符号,默认*
-
-
示例:
StringReplace('文字'); // '文*' StringReplace('文字文'); // '文*文' StringReplace('文字文字'); // '文**字' StringReplace('文字文字文字', '-'); // '文----字'