Validating email

Hi
I have a mailid like [email protected]@ As part of email validation

I have to check it [email protected] So I did

[email protected]@@”.split(‘@’) So I get [‘test’,‘123.com’] But if it
were [email protected] the expected validation is correct But the lase two @
signs are not recognized by split So how can check that after 123.com
still there is @ sign and declare my validation as failed?

Sijo

Sijo Kg wrote:

Sijo

I can’t explain why it doesn’t recognize but you could add something to
the end of the address and split.

irb(main):014:0> a = ‘[email protected]@@’
=> “[email protected]@@”
irb(main):015:0> a.split(‘@’)
=> [“test”, “123.com”]
irb(main):016:0> a = a + ‘trash’
=> “[email protected]@@trash
irb(main):017:0> a.split(‘@’)
=> [“test”, “123.com”, “”, “trash”]
irb(main):018:0>

Hope this helps.

Cheers,
Mohit.
11/7/2008 | 5:29 PM.

Hi
This is not the required solution Suppose the user enters
[email protected]@@ or [email protected]@ what happens? Since we cant insists
that there should be value after @ or @@

Thanks
Sijo

Hi
Thanks for the reply…But when i tried from script/console reslut
was like

TMail::Address.parse(‘[email protected]@’)
=> #<TMail::Address [email protected]@>

TMail::Address.parse(‘[email protected]@@’)
=> #<TMail::Address [email protected]@>

         Why this happens?

Sijo

On Fri, Nov 7, 2008 at 9:16 PM, Sijo Kg
[email protected]wrote:

Thanks for the reply…But when i tried from script/console reslut
was like

TMail::Address.parse(‘[email protected]@’)
=> #<TMail::Address [email protected]@>

TMail::Address.parse(‘[email protected]@@’)
=> #<TMail::Address [email protected]@>

What version of TMail is that?

TMail::VERSION::STRING
=> “1.2.3”

Mikel

In my current project, I’m using the regexp from
How to Find or Validate an Email Address with validates_format_of
to
validate email addresses.

Regards,
Craig

Hi

When in console typed
TMail::VERSION::STRING
I got error

NameError: uninitialized constant TMail

 So wont Tmail be installed as part of Rails?

Sijo

Hey yo -

On 13-Nov-08, at 11:14 PM, Craig D. wrote:

In my current project, I’m using the regexp from How to Find or Validate an Email Address
with validates_format_of to validate email addresses.

Regards,
Craig

Checked out this baby?

http://ex-parrot.com/~pdw/Mail-RFC822-Address.html

(I’m using something similar to Craig’s - wonder if the above would
crack open a bug in ruby’s regexp?

J

On Fri, Nov 7, 2008 at 8:39 PM, Sijo Kg
[email protected]
wrote:

Hi
This is not the required solution Suppose the user enters
[email protected]@@ or [email protected]@ what happens? Since we cant insists
that there should be value after @ or @@

Use tmail to validate your email :slight_smile:
It will raise an exception on basically anything except a correct
address.

And I would recommend not using an ‘@’ symbol to symbolize anything in
an
email address. It is the key component that separates the local from the
domain part of the email address and you will always run into problems.

You can see how here:

require ‘tmail’
=> true
TMail::Address.parse(‘[email protected]@@’)
TMail::SyntaxError: parse error on token “@”
from parser.y:379:in on_error' from (irb):2:in _racc_yyparse_c’
from parser.y:375:in scan' from parser.y:375:in parse_in’
from racc/parser.rb:152:in _racc_yyparse_c' from racc/parser.rb:152:in send
from racc/parser.rb:152:in yyparse' from parser.y:366:in parse’
from parser.y:344:in parse' from /Library/Ruby/Gems/1.8/gems/tmail-1.2.3.1/lib/tmail/address.rb:84:in parse’
from (irb):2
TMail::Address.parse(‘[email protected]@’)
TMail::SyntaxError: parse error on token “@”
from parser.y:379:in on_error' from (irb):3:in _racc_yyparse_c’
from parser.y:375:in scan' from parser.y:375:in parse_in’
from racc/parser.rb:152:in _racc_yyparse_c' from racc/parser.rb:152:in send
from racc/parser.rb:152:in yyparse' from parser.y:366:in parse’
from parser.y:344:in parse' from /Library/Ruby/Gems/1.8/gems/tmail-1.2.3.1/lib/tmail/address.rb:84:in parse’
from (irb):3
TMail::Address.parse(‘[email protected]’)
=> #<TMail::Address [email protected]>

Rails, RSpec and Life blog…

Another contender… I use this one:

http://tfletcher.com/lib/rfc822.rb

usage: validates_format_of :email, :with => RFC822::EmailAddress