# Regarding validation of email address

**URL:** <https://www.ruby-forum.com/t/regarding-validation-of-email-address/144305>\
**Category:** Ruby\
**Created:** [July 28, 2008, 1:45pm UTC](https://www.ruby-forum.com/t/regarding-validation-of-email-address/144305 "2008-07-28T13:45:20Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![vamsi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/b38774/32.png) [@vamsi](https://www.ruby-forum.com/u/vamsi)\
**Post date:** [July 28, 2008, 1:45pm UTC](https://www.ruby-forum.com/t/regarding-validation-of-email-address/144305/1 "2008-07-28T13:45:20Z")

</div>

hi all

i used the following reg. expression

/^([^@\s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})$/i  
for validating an email address.

and its work nice. \*but i need to add + in the validation as i need it

ex: removed\_email\_address@domain.invalid

so in order to validate this where should i put + symbol in regular  
expression so that i send emails to removed\_email\_address@domain.invalid.

thanks in advance.

---

<div class="post-metadata">

**Author:** ![vamsi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/b38774/32.png) [@vamsi](https://www.ruby-forum.com/u/vamsi)\
**Post date:** [July 28, 2008, 1:50pm UTC](https://www.ruby-forum.com/t/regarding-validation-of-email-address/144305/2 "2008-07-28T13:50:08Z")

</div>

2008/7/28 Vamsi K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> so in order to validate this where should i put + symbol in regular  
> expression so that i send emails to removed\_email\_address@domain.invalid.

Have a look at [http://tfletcher.com/lib/rfc822.rb](http://tfletcher.com/lib/rfc822.rb)

Regards,  
Farrel

---

<div class="post-metadata">

**Author:** ![vamsi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/b38774/32.png) [@vamsi](https://www.ruby-forum.com/u/vamsi)\
**Post date:** [July 28, 2008, 4:20pm UTC](https://www.ruby-forum.com/t/regarding-validation-of-email-address/144305/3 "2008-07-28T16:20:53Z")

</div>

Vamsi K. wrote:

> ex: removed\_email\_address@domain.invalid
> 
> so in order to validate this where should i put + symbol in regular  
> expression so that i send emails to removed\_email\_address@domain.invalid.

E-mail address validation is a FAQ in the Regular Expression discipline.

You can’t do it. No Regexp can successfully distinguish valid from  
invalid  
e-mail addresses, in all their permutations.

If you want to provide a simple defense against typographical errors,  
such as  
omitting the @, you must write a Regexp that is too wide, and will  
permit some  
ill-formed addresses to slip past.

---

<div class="post-metadata">

**Author:** ![vamsi](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/b38774/32.png) [@vamsi](https://www.ruby-forum.com/u/vamsi)\
**Post date:** [July 28, 2008, 7:13pm UTC](https://www.ruby-forum.com/t/regarding-validation-of-email-address/144305/4 "2008-07-28T19:13:47Z")

</div>

On Mon, Jul 28, 2008 at 9:19 AM, Phlip [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Phlip  
> Actually I believe it _can_ be done, but it’s next to useless to do so.  
> There’s a nasty regex that claims to validate all RFC 2822 compliant  
> email addresses over at regular-expressions.info, and it was done so  
> just to show that it really is a bad idea. The regex Is really really  
> hideous, but the article on why not to do it is well done.  
> [How to Find or Validate an Email Address](http://www.regular-expressions.info/email.html)

For those who don’t want to read the article, the last paragraph is  
one that should be remembered when using regexes…

“Don’t blindly copy regular expressions from online libraries or  
discussion forums. Always test them on your own data and with your own  
applications.”

–Kyle
