[RUBY] Rails: Erfassen Sie reguläre Ausdrücke in E-Mails!

Dies ist eine Fortsetzung des vorherigen Artikels .

Nach dem Festlegen der Validierung in den Spalten Name und E-Mail möchte ich einen regulären Ausdruck verwenden, um festzustellen, ob es sich um eine gültige E-Mail-Adresse handelt ([email protected] usw.), aber Ruby-Referenz ansehen, ertrinken Sie möglicherweise in einer großen Menge an Informationen. .. .. Deshalb habe ich mich dieses Mal entschlossen, nur das zu untersuchen und zu verwenden, was erforderlich ist, um festzustellen, ob E-Mails gültig sind.

Aus der Schlussfolgerung folgt hier der reguläre Ausdruck, der diesmal verwendet wird.

/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

In Bezug auf reguläre Ausdrücke ist das Rails-Tutorial leichter zu verstehen als die Ruby-Referenz. Es war. Das Folgende ist ein Auszug aus dem Rails-Tutorial, aber es scheint, dass Sie es verstehen können, wenn Sie sich das ansehen.

Reguläre Ausdrücke Bedeutung
/\A[\w+-.]+@[a-z\d-.]+.[a-z]+\z/i (Vollständiger regulärer Ausdruck)
/ Zeigt den Beginn eines regulären Ausdrucks an
\A Der Anfang der Zeichenfolge
[\w+-.]+ Alphabet, Unterstrich(_),Plus(+),Bindestrich(-),Punkt(.)Wiederholen Sie mindestens ein Zeichen
@ Atmark
[a-z\d-.]+ Wiederholen Sie mindestens einen Buchstaben mit niedrigeren Buchstaben, Zahlen, Bindestrichen oder Punkten
. Punkt
[a-z]+ Wiederholen Sie mindestens einen Kleinbuchstaben
\z Ende der Zeichenfolge
/ Zeigt das Ende eines regulären Ausdrucks an
i Falloption ignorieren

Sie können auch Rubular verwenden, um reguläre Ausdrücke einfach zu überprüfen. Das ist praktisch!

Fügen Sie dann diesen regulären Ausdruck zur Validierung hinzu, die im vorherigen Artikel erstellt wurde . So überprüfen Sie das Format. .. ..

validates :email, format: { with: /<regular expression>/ }

Da die Formatoption auf diese Weise verwendet wird, fügen Sie anstelle von "regulärer Ausdruck" einen regulären Ausdruck hinzu. app/models/user.rb

class User < ApplicationRecord
  validates :name,  presence: true, length: { maximum: 20 }
  validates :email, presence: true, length: { maximum: 300 }, format: { with: /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i }
end

Als ich versuchte, mich durch Eingabe von email: "ruby" in der Rails-Konsole zu registrieren, wurde eine Fehlermeldung angezeigt, da sie nicht wie [email protected] aussah. Es ist sehr praktisch, wenn Sie reguläre Ausdrücke beherrschen!

> user = User.create(name: "ruby", email: "ruby")
   (0.2ms)  BEGIN
   (0.3ms)  ROLLBACK
 => #<User id: nil, name: "ruby", email: "ruby", created_at: nil, updated_at: nil>
> user.errors.messages
=> {:email=>["is invalid"]}

Recommended Posts

Rails: Erfassen Sie reguläre Ausdrücke in E-Mails!
^, $ im regulären Ausdruck von Rails
Über reguläre Ausdrücke in Ruby
Reguläre Ausdrücke
Group_by in Rails
Passen Sie IP-Adressen mithilfe regulärer Ausdrücke in Java an
Informationen zum regulären Ausdruck, der in der Ruby-Submethode verwendet wird
Modellassoziation in Rails
Hinzufügen von Spalten in Rails
Deaktivieren Sie Turbolinks in Schienen
Hinweise zu regulären Ausdrücken
Verwenden Sie Bilder mit Schienen
Migration in Schienen verstehen
Teilen Sie route.rb in Rails6
Hinweise zur Verwendung regulärer Ausdrücke in Java
Markdown in Rails implementiert
Behandlung von Zeilenanfang und Zeilenende in regulären Ausdrücken in Ruby
[Rails] Holen Sie sich UserAgent auf den Controller
Implementieren Sie die Anwendungsfunktion in Rails
Deklarative Transaktion in Rails #ginzarb
Japanisieren Sie mit i18n mit Rails
[Java] Zusammenfassung der regulären Ausdrücke
Implementieren Sie die LTI-Authentifizierung in Rails
Edelstein oft in Schienen verwendet
Monatskalender in Rails anzeigen
Verwenden Sie mehrere Kontrollkästchen in Rails6!
Lerne nach und nach reguläre Ausdrücke ①