ひらがなのみかどうかのチェックをする

JavaScriptでひらがなチェックを行うサンプルです。

正規表現を使ってマッチするかどうかだけです。

Program

句読点を含まない場合。全角スペースは含む場合。

var s = "へのへの もへじー";
/^[ぁ-んー ]*$/.test(s); // → true 

句読点を含める場合。

var s = "へのへのもへじー、。";
/^[ぁ-んー 、。]*$/.test(s); // → true

関数として作ると以下のようになります。

function isHiragana(s)
{
  return /^[ぁ-んー ]*$/.test(s);
}

正規表現オブジェクトを定義しておくのもよいでしょう。

var hiragana = new RegExp(/^[ぁ-んー ]*$/);

hiragana.test("アイウエオワヲン"); // → false
hiragana.test("aiueo"); // → false
hiragana.test("あい うえ おー"); // → true

Demo

結果:

Memo

String.match を使ってもよいですが、matchしたいものがStringかどうかチェックが必要になるので、チェックのみであれば RegExp.test のほうが楽です。

null.match(/^[ぁ-んー ]*$/); // Uncaught TypeError: Cannot read property 'match' of null
123.match(/^[ぁ-んー ]*$/); // Uncaught SyntaxError: Invalid or unexpected token
/^[ぁ-んー ]*$/.test(123); // false
/^[ぁ-んー ]*$/.test(undefined); // false

空文字はエラーとしたい場合は、正規表現の /^[ぁ-んー ]*$/ を /^[ぁ-んー ]+$/ にします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です