How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Rajinder Yadav wrote:
How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Are you nuts? That's just the sort of thing Regexp was designed to do. And, it's not really all that complex. The Rails docs even use email validation as the example for validates_format_of so it's not like you have to write the "complex" regex yourself. Just copy-and-paste:
class Person < ActiveRecord::Base validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create end
Robert Walker wrote:
Rajinder Yadav wrote:
How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Are you nuts? That's just the sort of thing Regexp was designed to do. And, it's not really all that complex.
Yes it is. The *only* correct regexps I am aware of for e-mail addresses are on the order of a page in length. All shorter regexps reject some valid e-mail addresses.
Just check for the . and @, and trust the user for the rest.
The Rails docs even use email validation as the example for validates_format_of so it's not like you have to write the "complex" regex yourself. Just copy-and-paste:
class Person < ActiveRecord::Base validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create end
That regexp is just a simple example. It isn't even close to covering all valid e-mail addresses. Don't use it.
Best,
Marnen Laibow-Koser wrote:
Robert Walker wrote:
Rajinder Yadav wrote:
How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Are you nuts? That's just the sort of thing Regexp was designed to do. And, it's not really all that complex.
Yes it is. The *only* correct regexps I am aware of for e-mail addresses are on the order of a page in length. All shorter regexps reject some valid e-mail addresses.
Thanks Marnen. I stand corrected.
However, just to clarify, are you saying that Regexp is still the best approach? Given that what you're saying is true, which I'm sure it is, then I could imagine that performing this validation without using Regexp would be even more complex and require quite a bit more code.
Robert Walker wrote:
Marnen Laibow-Koser wrote:
Robert Walker wrote:
Rajinder Yadav wrote:
How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Are you nuts? That's just the sort of thing Regexp was designed to do. And, it's not really all that complex.
Yes it is. The *only* correct regexps I am aware of for e-mail addresses are on the order of a page in length. All shorter regexps reject some valid e-mail addresses.
Thanks Marnen. I stand corrected.
However, just to clarify, are you saying that Regexp is still the best approach? Given that what you're saying is true, which I'm sure it is, then I could imagine that performing this validation without using Regexp would be even more complex and require quite a bit more code.
The best approach is to download a plugin for email validation, because
someone, somewhere, has already done all the work
Robert Walker wrote:
Marnen Laibow-Koser wrote:
Robert Walker wrote:
Rajinder Yadav wrote:
How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Are you nuts? That's just the sort of thing Regexp was designed to do. And, it's not really all that complex.
Yes it is. The *only* correct regexps I am aware of for e-mail addresses are on the order of a page in length. All shorter regexps reject some valid e-mail addresses.
Thanks Marnen. I stand corrected.
However, just to clarify, are you saying that Regexp is still the best approach? Given that what you're saying is true, which I'm sure it is, then I could imagine that performing this validation without using Regexp would be even more complex and require quite a bit more code.
The best approach is to download a plugin for email validation, because someone, somewhere, has already done all the work
Several some ones...
http://agilewebdevelopment.com/plugins/validates_as_email http://agilewebdevelopment.com/plugins/validates_as_email_address http://agilewebdevelopment.com/plugins/validates_email_format_of
Philip Hallstrom wrote:
http://agilewebdevelopment.com/plugins/validates_email_format_of
This one does look interesting. Even has support for checking DNS MX
records. I see more clearly now what Marnen was talking about. This
plugin certainly does use Regexp, and I have to admit it is quite
complex.
Philip Hallstrom wrote:
Robert Walker wrote:
Marnen Laibow-Koser wrote:
Robert Walker wrote:
Rajinder Yadav wrote:
How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Are you nuts? That's just the sort of thing Regexp was designed to do. And, it's not really all that complex.
Yes it is. The *only* correct regexps I am aware of for e-mail addresses are on the order of a page in length. All shorter regexps reject some valid e-mail addresses.
Thanks Marnen. I stand corrected.
However, just to clarify, are you saying that Regexp is still the best approach? Given that what you're saying is true, which I'm sure it is, then I could imagine that performing this validation without using Regexp would be even more complex and require quite a bit more code.
The best approach is to download a plugin for email validation, because someone, somewhere, has already done all the work
Several some ones...
http://agilewebdevelopment.com/plugins/validates_as_email http://agilewebdevelopment.com/plugins/validates_as_email_address http://agilewebdevelopment.com/plugins/validates_email_format_of
Thanks Philip =)
Aldric Giacomoni wrote:
Robert Walker wrote:
Marnen Laibow-Koser wrote:
Robert Walker wrote:
Rajinder Yadav wrote:
How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Are you nuts? That's just the sort of thing Regexp was designed to do. And, it's not really all that complex.
Yes it is. The *only* correct regexps I am aware of for e-mail addresses are on the order of a page in length. All shorter regexps reject some valid e-mail addresses.
Thanks Marnen. I stand corrected.
However, just to clarify, are you saying that Regexp is still the best approach? Given that what you're saying is true, which I'm sure it is, then I could imagine that performing this validation without using Regexp would be even more complex and require quite a bit more code.
The best approach is to download a plugin for email validation, because someone, somewhere, has already done all the work
I wouldn't trust those plugins without inspecting their algorithms. I would probably use something like the following regex: /^.+@.+\..+$/
This checks that it's of the form "something@something.something", but performs no further validation.
Best,
Aldric Giacomoni wrote:
Robert Walker wrote:
Marnen Laibow-Koser wrote:
Robert Walker wrote:
Rajinder Yadav wrote:
How can I validate and email address without using complex reg-ex is there a simple rails way to do this?
Are you nuts? That's just the sort of thing Regexp was designed to do. And, it's not really all that complex.
Yes it is. The *only* correct regexps I am aware of for e-mail addresses are on the order of a page in length. All shorter regexps reject some valid e-mail addresses.
Thanks Marnen. I stand corrected.
However, just to clarify, are you saying that Regexp is still the best approach? Given that what you're saying is true, which I'm sure it is, then I could imagine that performing this validation without using Regexp would be even more complex and require quite a bit more code.
The best approach is to download a plugin for email validation, because someone, somewhere, has already done all the work
I wouldn't trust those plugins without inspecting their algorithms. I would probably use something like the following regex: /^.+@.+\..+$/
This checks that it's of the form "something@something.something", but performs no further validation.
Good point. It annoys me to no end when I can't enter philip+sitename@pjkh.com as a valid email address. Seems this works about half the time.
The bottom line is if you are really concerned about getting a valid email address, the only way to completely verify it is to send them an email and make them confirm it via a link in that email. Headache, yeah, but it works.
validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create
end