Regex for emailadress

2
We used the following REGEX for emailadress: '^\w+[\w-.]\@\w+((-\w+)|(\w)).[a-z]{2,3}$' but this isn't always correct: romy.vanruitenbeek@student.hu.nl won't be accepted. Does anyone have/use a better regex? I looked on internet but didn't find something we can use.
asked
4 answers
4

Regular expressions aren't very suitable for validating email addresses. You can handle simple cases but an email address can be extremely complicated and still valid. If you must capture all cases then a parser is better suited for the job. Otherwise you can use various regular expressions varying in complexity, like in the site Ronald linked.

For more info check http://stackoverflow.com/questions/201323/how-to-use-a-regular-expression-to-validate-an-email-addresses/

For reference, this is a regex linked there that captures most email addresses, but it's extremely long and complex: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html

answered
1

I found this site very usefull Regular expression email

answered
0

There is one packaged in the community commons library

answered
0

I found a beautifull one, does works fine for me!:

'([a-z0-9][-a-z0-9_+.]*[a-z0-9])@([a-z0-9][-a-z0-9.]*[a-z0-9].(arpa|root|aero|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|([0-9]{1,3}.{3}[0-9]{1,3}))'

answered