プロが教える店舗&オフィスのセキュリティ対策術

ログイン時のパスワードのバリデーションに使う正規表現を模索しています。
言語はrubyです。

環境:ruby1.9、rails3.2、OSはWindows。

チェック内容は以下となります。
 ・英字の大文字を必ず1文字は含むこと
 ・英字の小文字を必ず1文字は含むこと
 ・数字を必ず1文字は含むこと
 ・英数文字以外は使えない(記号はすべて不可)
 ・パスワードの長さは10文字以上20文字以下

自分で考えたコードは以下のようにしています(modelに記述)
validates :password, :presence => true,
:confirmation => true,
:length => { :within => 10..20 },
:format => { :with => /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])/}

英数の大小を考慮しなくてよいのであればできそうなのですが
そこが一番のネックとなりうまくいきません。

知恵をお貸し願えたらと思い質問させていただきました。
質問も初めてなので、足りない情報があれば追記いたします。

よろしくお願いいたします。

A 回答 (1件)

一度の処理で全てを確認しようとしないで、複数の処理で(行で)確認すればよいのではないでしょうか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!