多人电子邮件地址的验证



通过在文本字段中提供新用户的邮件地址(多个电子邮件地址)来邀请新用户,我需要验证给定的电子邮件地址格式,并需要显示正确的错误消息。这里我使用的是每个电子邮件地址之间的空格。(例如useremail@gmail.comuseremail2@yahoo.com)请引导我。

1) 如何验证用户电子邮件地址格式?。

2) 如何检查用户是否没有在两个电子邮件地址之间使用空格?。

3) 建议一些最好的方法。

我使用的是rails(2.3.X和ruby 1.8.7)

用户控制器

def invite_users
  if request.get?
    #render invite_users.html.erb
  elsif request.post?
    if !params[:email_ids].blank? && !params[:message].blank?
      @email_ids = params[:email_ids].split(/ |, |,/)
      @message = params[:message]
      @inviting_users = @email_ids.count
      @inviting_users.times do
        @all_emails = []
        @all_emails = @email_ids.shift
        activation_code = Digest::SHA1.hexdigest( Time.now.to_s.split(//).sort_by {rand}.join)
        UserNotifier.deliver_invite_users(@all_emails, @message,activation_code, current_company)
        end
     else
       flash[:notice] = "Please fill all the fields"
     end
  end
end

1)您可以使用一个简单的正则表达式来检查电子邮件字段的值。有许多正则表达式可能起作用,从最宽松的到最复杂的。人们通常倾向于使用这样的东西:

unless email =~ /^[a-zA-Z][w.-]*[a-zA-Z0-9]@[a-zA-Z0-9][w.-]*[a-zA-Z0-9].[a-zA-Z][a-zA-Z.]*[a-zA-Z]$/
   puts "Your email address does not appear to be valid")

这个正则表达式可能会传递一些无效的电子邮件地址(只有非常棘手的地址,所以基本上你可以认为这个正则表达式在99.99%的时间内就足够了)。如果你真的想要一个(几乎)完美的检查,你可以考虑这个:http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html(不过我不知道你是否需要那么多)。

要了解更多验证电子邮件地址的正则表达式(当然比我上一个更简单),请看这里:使用正则表达式验证电子邮件地址

2) 只需剥去()输入两个电子邮件地址的字段。

最新更新