フリガナの入力規制について
フリガナを入力する項目に漢字を入力した場合にエラーメッセージを表示したいのですが、どうすれば良いのでしょうか?
楽天トラベルさん等会員登録ページで規制がかかっていましたので、
方法が知りたくなりました。
どなたかご存知の方、申し訳御座いませんがご教授いただけますでしょうか?
回答(2件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.2ベストアンサー20pt
色々なやり方があると思いますが、一つの方法は以下です。
if (mb_ereg_match("^[ァ-ヶ]*$", $str)) {
echo "全角カナのみ or 空文字\n";
} else {
echo "全角カナ以外を含む\n";
}
この方法では、全角カナとみなされる文字は、以下です。
========================================
ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ ヰ ヱ ヲ ン ヴ ヵ ヶ
========================================
長音「ー」や全角空白「 」などは、全角カナとはみなされません。
これらも許容したい場合は、上記の正規表現を少々変えなければなりません。
この回答へのお礼
そのままソースを使わせて頂きました。
ここまで親切な回答を下さるとは思っていませんでしたので、
とても嬉しいです。
ありがとう御座いました!!!!
No.1ベストアンサー10pt
楽天はしりませんが、基本はjavascriptでonSubmitでデータの
整合性をチェックするのが第一ステップ。
それを無理やりパスしてくることを想定して、送られてきたデータに
カタカナ以外が含まれているかどうかをチェックします。
それぞれのチェックには正規表現をつかうとよいでしょう
この回答への補足
早急なご対応ありがとう御座いました。
かなり参考になりました。
どうもご親切にありがとう御座いました。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示












