正则表达式不验证完整的电子邮件地址

时间:2015-03-29 04:35:26

标签: javascript regex email

我遵循正则表达式: 的([A-ZA-Z0-9 .-]) \ @([A-ZA-Z0-9 - ] {1,63})。(([A-ZA-Z] {2- ,6})) 并验证 test@gamil.com test @ gamil 。虽然它必须验证 test@gmail.com 和带有子域的电子邮件。

任何帮助都是为了让我纠正。

3 个答案:

答案 0 :(得分:0)

试试这个:

  /^([A-Za-z0-9.-])+\@([a-zA-Z0-9-]{1,63})(\.([A-Za-z]{2,6}))$/ 

1)第一个^和最后一个$确保整个字符串匹配

2)你需要在+之前\@来匹配整个名字,而不仅仅是它的最后一个字符

3)虽然您在\字符之前不需要@,但在.之前需要一个<{1}}

但正如评论中所提到的,你最好在网上找到一个预先建好的。

答案 1 :(得分:0)

  1. 您尝试在@签名前仅匹配一个字符,但您需要确保至少有一个字符

    ([A-ZA-Z0-9 .-])+

  2. 您错过了电子邮件(.com,.net,.xyz)最后部分的.字符,也添加+修饰符以接受域和子域

    (([A-ZA-Z] {2,6-}))+

  3. 最后,它应该是这样的

    ([A-Za-z0-9.-])+\@([a-zA-Z0-9-]{1,63})(\.([A-Za-z]{2,6}))+
    

    查看更新 regex

答案 2 :(得分:0)

我完成了这件事。以下是正则表达式。

([A-Za-z0-9.-])*\@([a-zA-Z0-9-]{1,63})(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,6})

验证以下有类电子邮件地址:

hello@gmail.com
he_llo@worl.d.com
hel.l-o@wor-ld.museum
h1ello@123.com
hello@world.com.pk

谢谢大家的帮助。