ЯoomeR

プログラミング~実装とエラー解決と、時々、AI~

便利な正規表現一覧

パスワード

半角英数混合

/\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: "表示させたいエラーメッセージ"}