15
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

javaScriptで濁音・半濁音を清音にしたい。

Last updated at Posted at 2022-01-31

はじめに

業務で濁音・半濁音の文字を清音に変換する処理が必要となりました。
normalize()メソッドを使用すると簡単に清音を取得できることが分かりました。

例1
var str = 'ペンギン';
    console.log(str + ' = ' + str.length + '文字');
    // 正規化する
    str = str.normalize('NFD');
    console.log(str + ' = ' + str.length + '文字');

    // expected output: ペンギン = 4文字
    //                  ペンギン = 6文字

6文字??

// ペンギン = 6文字 の内訳。
for (var i = 0; i < str.length; i++) {
   console.log(str[i]);
}

// expected output: ヘ
//                   ゚
//                  ン
//                  キ
//                   ゙
//                  ン

簡単に濁点・半濁点を外した文字を取得することができました。

簡単な説明

normalize() メソッドは、文字列の Unicode 正規化形式を返します。
今回は、NFDを引数に渡し、「ぺ」から「へ」などを抽出しています。

※NFD・・・正準等価な文字については、結合文字に分解した形で正規化する。

詳しく知りたい方は参照にある記事を読み理解を深めてみてください。

注意

String.prototype.normalize()はES6で加わったメソッドなので、IE11では使用できません。

参照

15
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?