パスワード
半角英数混合
/\A(?=.*?[a-z])(?=.*?[\d])[a-z\d]+\z/i
名前系
ひらがな・漢字・全角カタカナ
validates :name, format { with: /\A[ぁ-んァ-ヶ一-龥々ー]+\z/, message: "表示させたいエラーメッセージ" }
フリガナ(全角カタカナ)
validates :name, format { with: /\A[\p{katakana}ー-&&[^ -~。-゚]]+\z/, message: "表示させたいエラーメッセージ" }
住所系
郵便番号
/\A\d{3}[-]\d{4}\z/
電話番号(簡易版)
10桁と11桁の数字で縛れば良いので、こんな感じ
validates :phone_number, length: { in: 10..11, message: "表示させたいエラーメッセージ"} validates :phone_number, numericality: {message: "表示させたいエラーメッセージ"}
固定電話
/\A\(0120|0800)-\d{3}-\d{3}\z/
携帯電話
/\A\0[789]0-\d{4}-\d{4}\z/
その他
半角数字
validates :number, numericality: { with: /\A[0-9]+\z/, message: "表示させたいエラーメッセージ" }
数字の範囲(下限・上限)
validates :score, numericality: { greater_than_or_equal_to: 0, less_than_or_equal_to: 100, message: "表示させたいエラーメッセージ"}