【JavaScript】アルファベットの全角文字を半角に変換する方法

JavaScriptを使用して、テキストデータを処理する際に、アルファベットの全角文字を半角に変換する必要があることがあります。
アルファベットの文字列を扱う場合、全角文字が混在するとデータの整合性が損なわれることがあります。この記事では、JavaScriptを使用してアルファベットの全角文字を半角に変換する方法を紹介します。

スポンサーリンク

アルファベットの全角文字を半角に変換する関数の実装

function convertFullWidthToHalfWidth(str) {
    return str.replace(/[A-Za-z]/g, function(s) {
        return String.fromCharCode(s.charCodeAt(0) - 65248);
    });
}

const fullWidthText = "ABCdefGHIJ";
const halfWidthText = convertFullWidthToHalfWidth(fullWidthText);
console.log(halfWidthText); // 出力: "ABCDEFGHIJ"

この関数は、正規表現/[A-Za-z]/gを使用して、アルファベットの全角文字を検出し、それぞれの文字のUnicodeコードポイントから65248を引いて、対応する半角文字に変換しています。そして、replace()メソッドを使用して全角文字を半角に置換しています。

よくある質問(FAQ)

Q. JavaScriptでアルファベットの大文字・小文字を判定するには?
A. char === char.toUpperCase()でtrueなら大文字、char === char.toLowerCase()でtrueなら小文字です。正規表現/^[A-Z]$/や/^[a-z]$/でも判定できます。
Q. 文字列を全て大文字または小文字に変換するには?
A. toUpperCase()で大文字、toLowerCase()で小文字に変換します。ロケール依存の変換にはtoLocaleUpperCase()・toLocaleLowerCase()が適切な場合があります。
Q. 全角アルファベットを半角に変換するには?
A. 全角ASCII範囲(U+FF01〜U+FF5E)の文字コードからFEE0を引くと対応する半角コードになります。String.fromCharCode()で変換し、replace()のコールバックで一括処理します。

まとめ

JavaScriptを使用してアルファベットの全角文字を半角に変換する方法を学びました。この方法を使用することで、テキストデータの整合性を維持し、正確な処理を行うことができます。