Our volunteers haven't translated this article into ไทย yet. Join us and help get the job done!
The normalize()
method returns the Unicode Normalization Form of a given string (if the value isn't a string, it will be converted to one first).
Syntax
str.normalize([form])
Parameters
form
- One of
"NFC"
,"NFD"
,"NFKC"
, or"NFKD"
, specifying the Unicode Normalization Form. If omitted orundefined
,"NFC"
is used.NFC
— Normalization Form Canonical Composition.NFD
— Normalization Form Canonical Decomposition.NFKC
— Normalization Form Compatibility Composition.NFKD
— Normalization Form Compatibility Decomposition.
Return value
A string containing the Unicode Normalization Form of the given string.
Errors thrown
RangeError
- A
RangeError
is thrown ifform
isn't one of the values specified above.
Description
The normalize()
method returns the specified Unicode Normalization Form of the string. It does not affect the value of the string itself.
Examples
Using normalize()
// Initial string // U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE // U+0323: COMBINING DOT BELOW var str = '\u1E9B\u0323'; // Canonically-composed form (NFC) // U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE // U+0323: COMBINING DOT BELOW str.normalize('NFC'); // '\u1E9B\u0323' str.normalize(); // same as above // Canonically-decomposed form (NFD) // U+017F: LATIN SMALL LETTER LONG S // U+0323: COMBINING DOT BELOW // U+0307: COMBINING DOT ABOVE str.normalize('NFD'); // '\u017F\u0323\u0307' // Compatibly-composed (NFKC) // U+1E69: LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE str.normalize('NFKC'); // '\u1E69' // Compatibly-decomposed (NFKD) // U+0073: LATIN SMALL LETTER S // U+0323: COMBINING DOT BELOW // U+0307: COMBINING DOT ABOVE str.normalize('NFKD'); // '\u0073\u0323\u0307'
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'String.prototype.normalize' in that specification. |
Standard | Initial definition. |
ECMAScript 2017 Draft (ECMA-262) The definition of 'String.prototype.normalize' in that specification. |
Draft |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Edge | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 34 | 31 (31) | No support | (Yes) | (Yes) | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | 34 | No support | No support | No support | No support |
See also
Document Tags and Contributors
Tags:
Contributors to this page:
eduardoboucas,
RodEsp,
fscholz,
NetHaven,
leobalter,
getify,
Mingun,
trueorfalse,
realityking,
Waldo,
arai,
Havvy,
ziyunfei
Last updated by:
eduardoboucas,