MENU

JavaScript文字列操作正規表現

【JavaScript】 ひらがなをカタカナに変換・逆変換する

更新日:2020/08/03

 

JavaScriptで文字列をひらがなからカタカナに、その反対にカタカナからひらがなに変換する方法をお伝えします。

 

 

関連ツール:
UTF-16 文字コード確認ツール

概要

 

ひらがなの"あ"と"ん"をJavaScriptの内部コードで表すと、\u3042と\u3093になります。
カタカナの"ア"と"ン"をJavaScriptの内部コードで表すと、\u30A2と\u30F3になります。

 

対応する文字の差は、96(16進数で60)になります。

 

30A2(ん) - 3042(あ) = 60
30F3(ン) - 3093(ア) = 60

 

そこで、次の式が成り立ちます。

 

■ひらがなコード + 96→ カタカナコード

 

■ カタカナコード - 96 → ひらがなコード

ひらがなをカタカナに変換する関数

 

JavaScript

 

const hiraToKana = text =>{
        return text.replace( /[\u3042-\u3093]/g, 
                     m => String.fromCharCode(m.charCodeAt(0) + 96)
                 );
    };

console.log( hiraToKana("あいうえお") ); // アイウエオ
console.log( hiraToKana("朝が来た") ); // 朝ガ来タ

 

/[\u3042-\u3093]/gは正規表現です。
.replaceを実行することで、文字列の中に"あ"から"ん"の文字があったら、その文字を置き換えます。

 

 

/[\u3042-\u3093]/gは、/[あ-ん]/gでも動作します。

 

 

カタカナをひらがなに変換する関数

 

JavaScript

 

const kanaToHira = text =>{
        return text.replace( /[\u30A2-\u30F3]/g, 
                     m => String.fromCharCode(m.charCodeAt(0) - 96)
                 );
    };

console.log(  kanaToHira("アイウエオ") ); // あいうえお
console.log(  kanaToHira("朝ガ来タ") ); // 朝が来た

 

/[\u30A2-\u30F3]/gは正規表現です。
.replaceを実行することで、文字列の中に"ア"から"ン"の文字があったら、その文字を置き換えます。

 

/[\u30A2-\u30F3]/gは、/[ア-ン]/gでも動作します。

記事の内容について

 

こんにちはけーちゃんです。
説明するのって難しいですね。


「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。

そんなときは、ご意見もらえたら嬉しいです。

ご意見はこちら。
https://affi-sapo-sv.com/info.php