normalize()
语法
normalize(form?: string): string;
描述
此方法会按照指定的一种 Unicode 正规形式将当前字符串正规化。支持四种形式,默认是NFC
。目前只能传入以下四种字符串,传入其他直接报错。
NFC,默认参数,表示“标准等价合成”(Normalization Form Canonical Composition),返回多个简单字符的合成字符。所谓“标准等价”指的是视觉和语义上的等价。
NFD,表示“标准等价分解”(Normalization Form Canonical Decomposition),即在标准等价的前提下,返回合成字符分解的多个简单字符。
NFKC,表示“兼容等价合成”(Normalization Form Compatibility Composition),返回合成字符。所谓“兼容等价”指的是语义上存在等价,但视觉上不等价,比如“囍”和“喜喜”。(这只是用来举例,normalize 方法不能识别中文。)
NFKD,表示“兼容等价分解”(Normalization Form Compatibility Decomposition),即在兼容等价的前提下,返回合成字符分解的多个简单字符。
示例
const str = "\u1E9B\u0323";
str.normalize("NFC"); // '\u1E9B\u0323'
str.normalize("NFD"); // '\u017F\u0323\u0307'