全角チェックを行う正規表現
先日、Javascriptで全角チェックを行う場面があり、 ネットで参考にしたものでは、ぴったりあてはまるものがなかなか見つからなかったので、 実際に自分が使用した正規表現パターンを書いておきます。
仕様
今回の全角チェックの仕様は以下の通り。
- 文字列がすべて全角文字ならOK。それ以外は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】全角・半角文字列の正規表現チェックまとめ(ひらがな/カタカナ/漢字・英数字) | わびさび少年のブログ