java中的正则表达式验证和电子邮件地址的javascript

时间:2014-10-27 09:51:05

标签: java javascript regex email-validation

我们使用下面的正则表达式来验证java ^[\\w!#\\$'\\*\\+=\\?\\^\\/_~-]+(\\.[\\w!#\\$'\\*\\+=\\?\\^\\/_~-]+)*@([a-zA-Z0-9\\-]+\\.)+[A-Z]{2,4}$中的电子邮件地址,并且它与无效的电子邮件地址raju.rathi@gmail.com&^(*&^(*^2一起工作正常但是当我在javascript中使用相同的正则表达式时,它并没有使用有效的电子邮件地址工作和失败。请说明这可能是造成这种不匹配的根本原因?

例如在javascript中,我通过以下测试条件得到假值 -

  

/ ^; - +(\ [\ W#\ $&#39 [\ W#\ $&#39 \ * \ + = \ \ ^ \ / 〜!?];!\ * \ + = \ \ ^ \ / 〜 - ?] +)* @([A-ZA-Z0-9 \ - ] + \)+   [A-Z] {2,4} $ /测试。(" raju.rathi@gmail.com")

2 个答案:

答案 0 :(得分:3)

您需要在Javascript正则表达式字面值中将\\转换为\

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

还有许多特殊的正则表达式字符,如$+*等,不需要在字符类中进行转义,因此我已从您的字符类中删除了不必要的转义。< / p>

答案 1 :(得分:0)

试试这个,它对我有用。

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

&#13;
&#13;
<html>

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

</html>
&#13;
&#13;
&#13;