Was ist die korrekte Methode, um eine Eingabezeichenfolge so zu validieren, dass sie nur 0-9, a-z und "." Enthalten kann? Das erste und letzte Zeichen darf kein "." Sein.
Ich verwende derzeit;
validates_format_of :lagrange, :with => /[0-9a-z.]/
und habe viele Varianten ausprobiert, aber ich kann mir das nicht vorstellen.
Antworten:
0 für die Antwort № 1Verwenden Sie das Lookahead der Assertion mit der Breite null
/^(?!.*[.]$)(?![.])[a-z0-9.]+$/
---------
+
ist ein Quantifizierer, der 1 bis viele Male übereinstimmt
^
markiert den Anfang und $
markiert das Ende der Schnur / Linie.
0 für die Antwort № 2
Wortgrenzen sind dein Freund:
/Ab[a-zd.]*bz/
Siehst du warum?