0

We are using below regular expression to validate email address in java ^[\\w!#\\$'\\*\\+=\\?\\^\\/_~-]+(\\.[\\w!#\\$'\\*\\+=\\?\\^\\/_~-]+)*@([a-zA-Z0-9\\-]+\\.)+[A-Z]{2,4}$ and it worked fine with invalid email address [email protected]&^(*&^(*^2 but when I use the same regular expression in javascript , it doesn't work and failes with even valid email addresses . Please suggest what could be root cause of this mismatch?

for e.g. in javascript , I'm getting false value with below test conditional -

/^[\w!#\$'\*\+=\?\^\/~-]+(\.[\w!#\$'\*\+=\?\^\/~-]+)*@([a-zA-Z0-9\-]+\.)+ [A-Z]{2,4}$/.test("[email protected]")

3
  • Why don't you use a dedicated API for this (mailapi)? Commented Oct 27, 2014 at 9:54
  • possible duplicate of Using a regular expression to validate an email address Commented Oct 27, 2014 at 9:59
  • 1
    sorry but it is not a duplicate . i can google and get regex from internet but my requirement is to use same regrx as used in java program which is not working . Commented Oct 27, 2014 at 10:03

2 Answers 2

3

You need to convert \\ to \ in Javascript regex literal:

/^[\w!#$'*+=?^\/~-]+(\.[\w!#$'*+=?^\/~-]+)*@([a-zA-Z0-9-]+\.)+[A-Z]{2,4}$/i.test("[email protected]")

Also many special regex characters like $, +, * etc. don't need to be escaped inside character class hence I have removed unnecessary escaping from your character class.

Sign up to request clarification or add additional context in comments.

2 Comments

/^[\w!#$'*+=?^\/~-]+(\.[\w!#$'*+=?^\/~-]+)*@([a-zA-Z0-9-]+\.)+[A-Z]{2,4}$/.test("[email protected]") - still i'm getting false when i ran this in java script console
It works here Make sure you use i (ignore case) flag.
0

Try this, it works for me.

/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/.test('[email protected]');

<html>

<body>
  <script>
    var flag = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/.test('[email protected]');
  </script>
  <h5><script>document.write(flag)</script></h5>
</body>

</html>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.