ある変数に入っている文字列を、正規表現でその変数の判定をしようと考えています。
有効な文字は、半角カタカナ, 全角カタカナ, ひらがなの3種のみ。
以下の文字がひとつでも入っていたら、 false を返す。
全角半角ともに数字の入っている文字列は無効。
記号が入っている文字列は無効。
空白, タブ, 改行など特殊文字が入っている文字列は無効。
漢字が入っているとその文字列は無効。
このような判定はどのような関数を組み合わせればいいですか?
よろしくお願いします。
mb_ereg("^[ア-ン゙ア-ンーあ-ん]+$", 変数名)
^ 先頭から
$ 末尾まで
[ と ] の中に含まれる文字だけ
という条件に当てはまらなければfalse
注意点としては
濁点や半濁点、長音記号なども含み忘れないようにすることと
文字コードを統一(下記コマンドも参照)しておくこと。
mb_regex_encoding
mb_internal_encoding
回答ありがとうございます。
> 濁点や半濁点、長音記号なども含み忘れないようにすること
半角カタカナの'゚'や'ー'も入れたほうがいいということですか?
mb_ereg("^[ア-ン゙゚ーア-ンーあ-ん]+$", 変数名)
こんな形?