2009-08-20 5 views

Antwort

0

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.

1

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]/ 
+0

ok, was, wenn es nicht Englisch ist? –

+0

Reguläre Ausdrücke können alle UTF8-codierten Zeichen mit der Option "u" abgleichen. ''你' .match (/ 你/u) # => # ' –

2

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.

Verwandte Themen