文字列操作正規表現

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

更新日:2020/08/03

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

 

概要

ひらがなの"あ"と"ん"を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でも動作します。

更新日:2020/08/03

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

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

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

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

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

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

 

このサイトは、リンクフリーです。大歓迎です。