• 締切済み

正規表現で英(大小)と数字を必ず1文字ずつ含むこと

ログイン時のパスワードのバリデーションに使う正規表現を模索しています。 言語は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])/} 英数の大小を考慮しなくてよいのであればできそうなのですが そこが一番のネックとなりうまくいきません。 知恵をお貸し願えたらと思い質問させていただきました。 質問も初めてなので、足りない情報があれば追記いたします。 よろしくお願いいたします。

みんなの回答

  • oboroxx
  • ベストアンサー率40% (317/792)
回答No.1

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

関連するQ&A

専門家に質問してみよう