【JavaScript】全角文字をチェックする方法

JavaScriptを使って文字列を処理する際に、特定の文字が全角文字であるかどうかをチェックする必要があることがあります。この記事では、JavaScriptを使用して与えられた文字列が全角文字で構成されているかどうかを確認する方法を紹介します。

全角文字の定義

まず初めに、JavaScriptで全角文字をどのように定義するかを理解する必要があります。Unicodeの範囲を考慮すると、通常のASCII文字ではない文字が全角文字と見なされます。Unicodeの範囲で全角文字の範囲は0x20から0x7Eの間ではないため、この範囲外の文字が見つかった場合、その文字列は全角文字を含んでいると見なします。

JavaScriptコードの解説

以下のJavaScriptコードは、与えられた文字列が全て全角文字で構成されているかどうかを確認する方法です。

function isZenkaku(str) {
  for (var i = 0; i < str.length; i++) {
    var code = str.charCodeAt(i);
    if (code < 0x20 || code > 0x7E) {
      return true;
    }
  }
  return false;
}

// 使用例
console.log(isZenkaku("あいうえお")); // true
console.log(isZenkaku("ABCDE")); // false

このコードは、文字列を順番に調べていき、一度でも全角文字の範囲外の文字が見つかった場合に true を返します。

サンプルコード

全角文字のチェックを行うコードです。このコードは、与えられた文字列に全角文字が含まれている場合にはエラーをthrowし、含まれていない場合には何も行いません。

function checkZenkaku(str) {
  for (var i = 0; i < str.length; i++) {
    var code = str.charCodeAt(i);
    if (code >= 0x20 && code <= 0x7E) {
      // ASCII文字なのでスキップ
      continue;
    } else {
      throw new Error("全角文字が含まれています。");
    }
  }
}

// 使用例
try {
  checkZenkaku("ABCDE"); // エラーは発生しない
  checkZenkaku("あいうえお"); // エラーが発生する
} catch (error) {
  console.error(error.message);
}

このコードでは、checkZenkaku 関数が与えられた文字列に全角文字が含まれているかどうかをチェックします。もし全角文字が含まれている場合には、 throw new Error(“全角文字が含まれています。”); の行でエラーを発生させます。そのため、この関数を呼び出す際には、try…catch ブロックでエラーハンドリングを行う必要があります。

まとめ

JavaScriptを使用して文字列の処理を行う際に、与えられた文字列が全角文字で構成されているかどうかを確認する方法を紹介しました。この方法を使えば、文字列の操作やバリデーションに役立ちます。