2019/11/20更新

[JavaScript] 全角カナ、半角カナの判定を行う方法

このエントリーをはてなブックマークに追加      

こんにちは、@yoheiMuneです。
先日は「[JavaScript] 全角⇔半角の変換を行う(英数字、カタカナ)」のブログを書きました。今回は、JavaScriptで日本語カナのチェックを行う実装をブログに書きたいと思います。
氏名カナの入力チェックなどで使うことができます。



目次




全角カナのチェックを行う


基本形

文字列が全角カナであるかを判定するためには、下記の実装で判定できます。
// 全角カナの判定.
function isZenkakuKana(s) {
    return !!s.match(/^[ァ-ヶー ]*$/);  // 「 」は全角スペースです.
}
下記のように利用します。
isZenkakuKana('シブヤ');  // true

派生系(許可する文字種類を増やしたい場合)

また、全角数字など、許可したい文字列を追加することもできます。
// 全角カナ、全角数字、を許可
function isZenkakuKana(s) {
    return !!s.match(/^[ァ-ヶ0-9ー ]*$/);
}

// 全角カナ、全角数字、半角数字、を許可
function isZenkakuKana(s) {
    return !!s.match(/^[ァ-ヶ0-90-9ー ]*$/);
}

// 全角カナ、全角数字、半角数字、半角スペース、を許可
function isZenkakuKana(s) {
    return !!s.match(/^[ァ-ヶ0-90-9ー  ]*$/);
}
全角カナの入力欄ですが、要件によっていろいろなので、上のバリエーションで要件に合うものを使えると良いかなと思います。



半角カナのチェックを行う


基本形

文字が半角カナであるかを判定する関数は、下記です。
// 半角カナのチェック.
function isHankakuKana(s) {
    return !!s.match(/^[ヲ-゚]*$/);
}
ヲ-゚」の範囲は、「ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚」を表します。

下記のように利用します。
isHankakuKana('シブヤ')  // true

派生系(許可する文字種類を増やしたい場合)

半角スペースや半角数字など、他の文字も許可したい場合には、下記のように実装します。
// 半角カナ、半角スペース、を許可
function isHankakuKana(s) {
    return !!s.match(/^[ヲ-゚ ]*$/);
}

// 半角カナ、半角スペース、半角数字、を許可
function isHankakuKana(s) {
    return !!s.match(/^[ヲ-゚ 0-9]*$/);
}
半角カナチェックも要件がいろいろなので、その時に応じて対応できたら素敵です。



関連記事

カナの全角と半角の相互変換を行う方法」もブログに書きました。もし良ければご参考ください。



最後に

業務用のアプリケーションの場合、カナを扱うことも多いので、ノウハウを残しておければと思いブログに書きました。実装がすぐにできれば、より多くの価値を生み出せると思いますので、今後も実装の役に立つネタをブログに書いていけたらと思っています。

最後になりますが本ブログでは、PHP、フロントエンド、Python、インフラ、サーバー、Swift、Node.js、Java、Linux、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSTwitterをフォローして貰えたら嬉しいです ^ ^

最後までご覧頂きましてありがとうございました!





こんな記事もいかがですか?

RSS画像

もしご興味をお持ち頂けましたら、ぜひRSSへの登録をお願い致します。