油断したら死ぬ。

こころとからだの健康第一

全角チェックを行う正規表現

先日、Javascriptで全角チェックを行う場面があり、 ネットで参考にしたものでは、ぴったりあてはまるものがなかなか見つからなかったので、 実際に自分が使用した正規表現パターンを書いておきます。

仕様

今回の全角チェックの仕様は以下の通り。

  • 文字列がすべて全角文字ならOK。それ以外はNG。

具体的には、

  • 「あいうえお」はOK
  • 「アイウエオ」はOK
  • 「アイウエオ」はNG
  • 「あいウえお」はNG
  • 「あいうeお」はNG

参考にした例では(記事最後にリンク記載)、 半角カタカナが含まれる場合にNGにできなかったり、 全角文字と半角文字の混合の場合にNGにできなかったりしたため、 最終的には以下のような形になりました。

全角チェックを行うJavascript

function isZenkaku(str) {
    return (String(str).match(/[\x01-\x7E\uFF65-\uFF9F]/)) ? false : true;
}
  • 「\x01-\x7E」の部分が「1バイト文字」にマッチします。
  • 「\uFF65-\uFF9F」の部分が半角カタカナにマッチします。

今回、全角・半角の混合をNGにするために、 対象文字列(str)が「1バイト文字」「半角カタカナ」にマッチするならばNG(false)とすることにしました。

正規表現は苦手です。。。

参考

【JavaScript】全角・半角文字列の正規表現チェックまとめ(ひらがな/カタカナ/漢字・英数字) | わびさび少年のブログ

正規表現サンプル(全角文字を検索する)