2012-07-09 156 views
1

我想更改在我的應用程序中定義有效電子郵件的正則表達式。我正在嘗試在config/initializers/devise.rb中執行此操作。要檢查我是否正則表達式正在試圖啓動與一些容易喜歡設計不尊重config.email_regexp

config.email_regexp = /\d+/ 

時沒有工作,我想,也許我的Ruby的正則表達式的語法時才知識已經掉了,試了一下我認爲是一個超級簡單的正則表達式

config.email_regexp = /a/ 

雖然改變以下對允許的密碼有影響,但前兩行似乎沒有影響。

config.password_length = 2..128 

我該怎麼辦才能修改正則表達式驗證電子郵件? (在我做出每個修改後,我重新啓動了服務器以確保所做的更改已被提取。)

回答

0

您意識到那些正則表達式的匹配是正確的嗎?

/\ d + /匹配一個或多個數字,和/ a /匹配單個'a'。這將使幾乎每個電子郵件地址無效,不是?

看看這個網站來測試你的正則表達式,並看看是否有幫助:

http://rubular.com/

+0

對於混淆,我很抱歉,但我明白這些對於電子郵件來說並不是很好的正則表達式,但我想測試一下,在使用更復雜的正則表達式之前,我正在使用這些正則表達式。儘管我們談到了幫手網站的主題,但我還要提到:[regex powertoy](http://regex.powertoy.org/)和[regex info](http://www.regular-expressions。 info /) – Michael 2012-07-10 12:48:37

-1

我有一個類似的問題,這一次設置email_regexp到別處定義的常量時。我在https://github.com/plataformatec/devise/issues/2233報告了一些失敗/通過的測試用例比較,試圖找到它。

+0

感謝評論Ben,但我已經投了票,因爲根據我的理解,你*評論*,而不是**回答**,因此應該使用評論設施。 – Michael 2016-01-15 18:45:20