点(。)后RegEx不允许少于3个字符

时间:2013-12-12 02:44:56

标签: regex

我们有一套用于验证电子邮件的RegEx,效果非常好。虽然我们最近发现电子邮件地址中是否有一个点(。),但如果点(。)后的字符数小于3,则RegEx验证将失败。例如:

  • test.abcd@gmail.com - > PASS
  • test.abc@gmail.com - >通过
  • test.ab@gmail.com - > FAIL
  • test.a@gmail.com - > FAIL

以下是RegEx:

/^[-a-z0-9#$%^&'`?{}_=+\/}{\'?]+(\.[-a-z0-9#$%^&'`?{}_=+\/}{\'?]+([a-zA-Z]{2,4})+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i

1 个答案:

答案 0 :(得分:0)

只需删除中间附近的正则表达式的([a-zA-Z]{2,4})+部分即可。我不明白为什么会出现这种情况。