php5 で QuickForm を使用しており、addRule の質問です。

全角カタカナだけを許可したいのですが、記述がどうもうまくいきません。

$form->addRule('name_kana', '蒸留所名カナは全角カタカナを使ってください。', 'regex', '/^[ァ-ヶー]+$/', 'server');
と記入している部分のフォームに
『アードベッグ』と入れると、エラーメッセージが返されます。
正規表現の 『/^[ァ-ヶー]+$/』 の書き方はおかしいですか?また、他におかしいところはありますか?

また、文字コードなど "UTF-8" で統一していますが関係あるのでしょうか?
よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2008/12/04 01:16:23
  • 終了:2008/12/04 16:50:18

回答(1件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012008/12/04 03:14:33

ポイント60pt

正規表現中の長音符が全角文字になっていますが・・・。

id:seadwell

全角ではまずいのですか?

2008/12/04 04:00:55
  • id:kn1967
    寝ぼけてて申し訳ない・・・。

    /^(\xe3(\x82[\xa1-\xbf]|\x83[\x80-\xb6]|\x83\xbc))+$/
  • id:seadwell
    ありがとうございます。
    無事動作確認しました。
    文字コードによって、こんな書き方もあるのですね~、勉強になりました。
  • id:kn1967
    文字で直接書くとサーバー側設定、エディタ設定、転送ソフト設定などなど
    どうしても文字コードの問題に引っかかってしまいますので
    心配の少ない半角英数による方法を・・・という事だったりします。

    手抜き回答で申し訳ないのですが
    エディタか転送ソフトによる自動変換などが問題になっているかと思いますので
    今後のためにも、出来れば、ご確認を。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません