【发布时间】:2019-07-10 13:19:53
【问题描述】:
我的页面中有一个电子邮件搜索栏。当我将+ 字符放入我的text_field 时,找不到电子邮件。
例如,搜索test123@gmail.com 有效,但搜索test+123@gmail.com 无效。
我的表单代码:
<%= form_tag users_path, :method => 'get', local: true, class: 'ui form' do %>
<div class="fields">
<div class="field">
<%= label_tag "Search by email:" %>
<%= text_field_tag :search, params[:search] %>
</div>
<div id="search-bar-button-users", class="field">
<button class="ui labeled icon button">
<i class="search icon"></i>
Search
</button>
</div>
</div>
</div>
<% end %>
我的应用程序助手:
def is_a_valid_email?(email)
(email =~ /^(([A-Za-z0-9]*\.+*_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\+)|([A-Za-z0-9]+\+))*[A-Za-z0-9]+@{1}((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,4}$/i)
end
我希望搜索栏忽略 + 并仍然找到电子邮件。
【问题讨论】:
-
试试这个:
email =~ /^(([A-Za-z0-9]*\.+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\+)|([A-Za-z0-9]+\+))*[A-Za-z0-9]+@{1}((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,4}$/i -
谢谢,但我需要将代码放入我的 form_tag 中,不是吗?实际上我认为 def 没有链接到我的 form_tag 搜索字段?
-
hackernoon.com/… 读起来很有趣。
标签: regex ruby ruby-on-rails-5