使用正则表达式防止双下划线(_)

时间:2019-01-23 06:12:59

标签: javascript jquery

我正在使用正则表达式进行电子邮件验证,以验证电子邮件ID,例如:

  • abc__xyz@gmail.com
  • abc..xyz @ gmail.com
  • abc@gmail.com99

最后2个电子邮件格式对我来说很好,但对第一个电子邮件格式却不起作用(不应出现两个连续的下划线)。 目前我正在使用:

var regex = /^[a-z0-9!$%*=?^_`{|}~-]+(?:\.[a-z0-9!$%*=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2}|aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel)$/i;

有人可以帮助我防止两个连续的下划线(_)吗?

1 个答案:

答案 0 :(得分:1)

尝试:

var regex = /^(?!.*__.*)[a-z0-9!$%*=?^_`{|}~-]+(?:\.[a-z0-9!$%*=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2}|aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel)$/i;

来源:Regex not to allow double underscores