2013-12-10 27 views
1

我是一個新的rails用戶,我試圖在他們的電子郵件中用撇號創建用戶。我在Devise gem初始化文件中使用了以下代碼和正則表達式。在設計導軌中使用帶撇號的電子郵件地址

config.email_regexp = "^\w+([-+.]\w+)*@\w+([-.']\w+)*\.\w+([-.]\w+)*$" 

但是,當我試圖通過rails控制檯創建一個新用戶時,它引發了一個撇號錯誤。

請指導如何使用帶有撇號的撇號電子郵件。

感謝

+0

這裏有一些易於使用的電子郵件地址的正則表達式驗證http://regexlib.com/Search.aspx?k=email – abc123

+0

嗯。 ..'。+ @。+'。 –

+0

在哪個部分你想要撇號?在這裏你允許它在@和撇號之後至少有一個單詞字符 –

回答

0

使用以下命令:

^\w+([-'.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 

我已經刪除了你的第一個字符類增加了+。如果允許使用文字+,則添加它。

此正則表達式將使A'B @ XCA'B-d @ XCA'B-d @ XEC

,不會讓a''b @ XCA'-BD @ XCa'[email protected]

+0

我在嘗試使用您建議的正則表達式時遇到此錯誤。 ActiveRecord :: StatementInvalid in Devise :: RegistrationsController#create PG ::錯誤:錯誤:語法錯誤處於或接近「bc」 LINE 1:... sers「。* FROM」users「WHERE(users.email ILIKE' a'[email protected] ... ^ :SELECT「users」。* FROM「users」WHERE(users.email ILIKE'a'[email protected]')限制1 – Nandhini

+0

撇號後的撇號'a'[email protected]'關閉在a之前打開的包含撇號的值。如何生成此查詢?如果您有控制權,請使用雙引號將值封裝爲「a'[email protected]」。 (我不熟悉ruby或rails;只是需要修正regex) –

+0

正則表達式可以用來檢查某些文本是否遵循這種特定的模式。 –

相關問題