2012-07-09 152 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