Wie kann ich das Stringattribut des Rails-Modells validieren, das zu bestimmten alphabetischen Zeichen gehört?Überprüfen Sie, ob die Zeichenfolge zu einer bestimmten Sprache gehört. Alphabet
Danke.
Wie kann ich das Stringattribut des Rails-Modells validieren, das zu bestimmten alphabetischen Zeichen gehört?Überprüfen Sie, ob die Zeichenfolge zu einer bestimmten Sprache gehört. Alphabet
Danke.
validates_format_of scheint das Richtige für Sie zu sein. the documentation sagt:
Überprüft, ob der Wert des angegebenen Attributs die richtige Form hat, indem es mit dem angegebenen regulären Ausdruck übereinstimmt.
class Person < ActiveRecord::Base
validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create
end
Hinweis: Verwendung \ A und \ Z den Anfang und das Ende der Zeichenfolge übereinstimmen,^und passen $ die Start/Ende einer Zeile.
Ein regulärer Ausdruck muss angegeben werden, sonst wird eine Ausnahme ausgelöst.
Sie möchten den Wert des Attributs für einen regulären Ausdruck überprüfen.
# Only match characters a-z
validates_format_of :attr, :with => /[a-z]/
Es gibt eine Bibliothek whatlanguage genannt, die die Sprachen der Zeichenfolge erkennen, Beispiel:
require 'whatlanguage'
"Je suis un homme".language # => :french
Arbeiten mit Niederländisch, Englisch, Farsi, Französisch, Deutsch, Schwedisch, Portugiesisch, Russisch und Spanisch aus die Kiste, also auch Kyrillisch.
ok, was, wenn es nicht Englisch ist? –
Reguläre Ausdrücke können alle UTF8-codierten Zeichen mit der Option "u" abgleichen. ''你' .match (/ 你/u) # => #' –