用java和java scipt进行电子邮件地址的正则表达式验证
我们使用下面的正则表达式来验证java中的电子邮件地址^[w!#$'*+=?^/_~-]+(.[w!#$'*+=?^/_~-]+)*@([a-zA-Z0-9-]+.)+[AZ]{2,4}$
,它工作正常与无效的电子邮件地址raju.rathi@gmail.com&^(*&^(*^2
但是当我在JavaScript中使用相同的正则表达式,它不起作用并失去甚至有效的电子邮件地址。请建议可能是这种不匹配的根本原因?
例如在JavaScript中,我得到以下测试条件的虚假值 -
/^[w!#$'*+=?^/~-]+(.[w!#$'*+=?^/~-] +)*([a-zA-Z0-9 - ] + 。)+ [AZ] {2,4} $ /。test(“raju.rathi@gmail.com”)
你需要在Javascript正则表达式中将转换为
/^[w!#$'*+=?^/~-]+(.[w!#$'*+=?^/~-]+)*@([a-zA-Z0-9-]+.)+[A-Z]{2,4}$/i.test("raju.rathi@gmail.com")
还有很多像$
, +
, *
等特殊的正则表达式字符不需要在字符类中转义,因此我已经从字符类中移除了不必要的转义字符。
试试这个,它适用于我。
/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,6})$/.test('raju.rathi@gmail.com');
<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>
链接地址: http://www.djcxy.com/p/16525.html
上一篇: Regex validation in java and java scipt for email address
下一篇: Validate email address with folder using regex in Javascript