Skip to content

String 字符串方法 API

本文逐项记录 @fast-china/utils 的 String 字符串公开函数。

decodeURIComponentRepeatedly 解码

重复执行 URI 组件解码,直到值稳定或达到深度上限。

签名

ts
export function decodeURIComponentRepeatedly(value: string, maxDepth = 10): string;

示例

ts
import { decodeURIComponentRepeatedly } from "@fast-china/utils";

const result = decodeURIComponentRepeatedly("Fast 文档", 10);

输入

输入值输入值类型必填/默认值输入值说明
valuestring不包含 URI 路径语义的编码组件。
maxDepthunknown否,默认 10最大解码次数,默认 10

返回

返回值返回值类型返回值说明
resultstring解码稳定或达到上限后的组件文本。

parseQueryString 解析

解析带 :// 的绝对 URL、?query 或纯查询字符串。

签名

ts
export function parseQueryString(input: string): ParsedQueryParameters;

示例

ts
import { parseQueryString } from "@fast-china/utils";

const result = parseQueryString("?page=1&tag=vue&tag=tsx");

输入

输入值输入值类型必填/默认值输入值说明
inputstring完整 URL、带前导问号或不带前导问号的查询文本。

返回

返回值返回值类型返回值说明
resultParsedQueryParameters重复键对应字符串数组,空值保留为空字符串。

isValidJson JSON校验

判断文本是否为任意合法 JSON 值,包括标量与 null

签名

ts
export function isValidJson(value: string): boolean;

示例

ts
import { isValidJson } from "@fast-china/utils";

const result = isValidJson(`{"name":"Fast"}`);
console.log(result); // true

输入

输入值输入值类型必填/默认值输入值说明
valuestring待解析文本;纯空白不视为 JSON。

返回

返回值返回值类型返回值说明
resultbooleanJSON.parse 能完整解析时返回 true

splitWords 分词

按大小写边界、连字符、下划线与空白切分单词。

签名

ts
export function splitWords(value: string): string[];

示例

ts
import { splitWords } from "@fast-china/utils";

const result = splitWords("Fast 文档");

输入

输入值输入值类型必填/默认值输入值说明
valuestring待拆分文本。

返回

返回值返回值类型返回值说明
resultstring[]删除空项、保持输入顺序的单词数组。

upperFirst 首字母

将首个 Unicode 码点转为大写。

签名

ts
export function upperFirst(value: string, locale?: StringLocale): string;

示例

ts
import { upperFirst } from "@fast-china/utils";

const result = upperFirst("Fast 文档", "zh-CN");

输入

输入值输入值类型必填/默认值输入值说明
valuestring输入文本;空字符串保持为空。
localeStringLocale显式语言,默认固定为 en-US

返回

返回值返回值类型返回值说明
resultstring首个 Unicode 码点转换后的文本。

lowerFirst 首字母

将首个 Unicode 码点转为小写。

签名

ts
export function lowerFirst(value: string, locale?: StringLocale): string;

示例

ts
import { lowerFirst } from "@fast-china/utils";

const result = lowerFirst("Fast 文档", "zh-CN");

输入

输入值输入值类型必填/默认值输入值说明
valuestring输入文本;空字符串保持为空。
localeStringLocale显式语言,默认固定为 en-US

返回

返回值返回值类型返回值说明
resultstring首个 Unicode 码点转换后的文本。

camelCase 驼峰

将文本转换为 camelCase。

签名

ts
export function camelCase(value: string, locale?: StringLocale): string;

示例

ts
import { camelCase } from "@fast-china/utils";

const result = camelCase("Fast 文档", "zh-CN");

输入

输入值输入值类型必填/默认值输入值说明
valuestring由大小写、连字符、下划线或空白分隔的文本。
localeStringLocale大小写转换使用的语言,默认固定为 en-US

返回

返回值返回值类型返回值说明
resultstringcamelCase 文本。

pascalCase 帕斯卡

将文本转换为 PascalCase。

签名

ts
export function pascalCase(value: string, locale?: StringLocale): string;

示例

ts
import { pascalCase } from "@fast-china/utils";

const result = pascalCase("Fast 文档", "zh-CN");

输入

输入值输入值类型必填/默认值输入值说明
valuestring参数语义与 一致。
localeStringLocale大小写转换使用的显式语言。

返回

返回值返回值类型返回值说明
resultstringPascalCase 文本。

kebabCase 连字符

将文本转换为 kebab-case。

签名

ts
export function kebabCase(value: string, locale?: StringLocale): string;

示例

ts
import { kebabCase } from "@fast-china/utils";

const result = kebabCase("Fast 文档", "zh-CN");

输入

输入值输入值类型必填/默认值输入值说明
valuestring参数语义与 一致。
localeStringLocale大小写转换使用的显式语言。

返回

返回值返回值类型返回值说明
resultstringkebab-case 文本。

truncateGraphemes 截断

按 Unicode 字素簇截断文本,避免拆开 emoji、组合音标或代理对。

签名

ts
export function truncateGraphemes(value: string, maxLength: number, suffix = "…", locale?: StringLocale): string;

示例

ts
import { truncateGraphemes } from "@fast-china/utils";

const result = truncateGraphemes("Fast 文档", 4, "…", "zh-CN");

输入

输入值输入值类型必填/默认值输入值说明
valuestring输入文本。
maxLengthnumber保留的最大字素簇数量。
suffixunknown否,默认 "…"被截断时追加的文本,默认单字符省略号 ;不计入上限。
localeStringLocale字素分割语言,默认固定为 en-US

返回

返回值返回值类型返回值说明
resultstring未超限时返回原字符串,否则返回截断内容与后缀。

copy 复制

把文本复制到系统剪贴板。

签名

ts
export async function copy(value: string): Promise<void>;

示例

ts
import { copy } from "@fast-china/utils";

const result = await copy("Fast 文档");

输入

输入值输入值类型必填/默认值输入值说明
valuestring要复制的文本。

返回

返回值返回值类型返回值说明
resultPromise<void>复制完成后兑现的 Promise。

randomString 随机数

生成随机字符串。

签名

ts
export function randomString(length: number, alphabet: string = defaultRandomAlphabet): string;

示例

ts
import { randomString } from "@fast-china/utils";

const result = randomString(16, "ABCDEFGHJKLMNPQRSTUVWXYZ23456789");

输入

输入值输入值类型必填/默认值输入值说明
lengthnumber字符数量,必须是 0 至 1,000,000 的安全整数。
alphabetstring否,默认 defaultRandomAlphabet不得为空、包含重复字符或超过 2^32 个 Unicode 码点。

返回

返回值返回值类型返回值说明
resultstringalphabet 中 Unicode 码点组成的随机文本。

generateUuidV4 UUID

生成 RFC 4122 version 4 UUID。

签名

ts
export function generateUuidV4(): string;

示例

ts
import { generateUuidV4 } from "@fast-china/utils";

const result = generateUuidV4();

输入

该方法没有输入参数。

返回

返回值返回值类型返回值说明
resultstring小写、带连字符的 UUID v4。

isUuidV4 UUID

判断字符串是否为 RFC 4122 version 4 UUID。

签名

ts
export function isUuidV4(value: string): boolean;

示例

ts
import { isUuidV4 } from "@fast-china/utils";

const result = isUuidV4("550e8400-e29b-41d4-a716-446655440000");
console.log(result); // true

输入

输入值输入值类型必填/默认值输入值说明
valuestring待验证文本;十六进制字母大小写均可。

返回

返回值返回值类型返回值说明
resultboolean版本位与 Variant 位均正确时返回 true

escapeHtml 转义

转义 HTML 文本上下文中的五个特殊字符。

签名

ts
export function escapeHtml(value: string): string;

示例

ts
import { escapeHtml } from "@fast-china/utils";

const result = escapeHtml("Fast 文档");

输入

输入值输入值类型必填/默认值输入值说明
valuestring将作为 HTML 文本节点内容的字符串。

返回

返回值返回值类型返回值说明
resultstring转义 &<>、双引号与单引号后的文本。

normalizeWhitespace 空白

把连续 Unicode 空白折叠为单个空格并删除两端空白。

签名

ts
export function normalizeWhitespace(value: string): string;

示例

ts
import { normalizeWhitespace } from "@fast-china/utils";

const result = normalizeWhitespace("Fast 文档");

输入

输入值输入值类型必填/默认值输入值说明
valuestring输入文本。

返回

返回值返回值类型返回值说明
resultstring规范化后的文本;全空白输入返回空字符串。