2009-08-20 33 views

回答

0

validates_format_of對你來說似乎是正確的。 the documentation說:

通過將指定屬性的值與提供的正則表達式進行匹配來驗證指定屬性的值是否爲正確形式。

class Person < ActiveRecord::Base 
    validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create 
    end 

注意:使用\ A和\ Z匹配字符串的開頭和結尾,^和$匹配一行的開始/結尾。

必須提供一個正則表達式,否則會引發異常。

1

您需要根據正則表達式驗證屬性的值。

# Only match characters a-z 
validates_format_of :attr, :with => /[a-z]/ 
+0

好吧,如果它不是英文? – 2009-08-20 09:09:45

+0

正則表達式可以通過包含'u'選項來匹配任何UTF8編碼的字符。 ''你'.match(/你/ u)#=>#' – 2009-08-20 11:39:57

2

有一個庫調用whatlanguage識別字符串的語言,例如:

require 'whatlanguage' 
"Je suis un homme".language  # => :french 

工程用荷蘭語,英語,波斯語,法語,德語,瑞典語,葡萄牙語,俄語和西班牙語出來的盒子,所以它也識別西里爾語。

相關問題