我遵循正则表达式: 的([A-ZA-Z0-9 .-]) \ @([A-ZA-Z0-9 - ] {1,63})。(([A-ZA-Z] {2- ,6})) 并验证 test@gamil.com 和 test @ gamil 。虽然它必须验证 test@gmail.com 和带有子域的电子邮件。
任何帮助都是为了让我纠正。
答案 0 :(得分:0)
试试这个:
/^([A-Za-z0-9.-])+\@([a-zA-Z0-9-]{1,63})(\.([A-Za-z]{2,6}))$/
1)第一个^
和最后一个$
确保整个字符串匹配
2)你需要在+
之前\@
来匹配整个名字,而不仅仅是它的最后一个字符
3)虽然您在\
字符之前不需要@
,但在.
之前需要一个<{1}}
但正如评论中所提到的,你最好在网上找到一个预先建好的。
答案 1 :(得分:0)
您尝试在@
签名前仅匹配一个字符,但您需要确保至少有一个字符
([A-ZA-Z0-9 .-])+
您错过了电子邮件(.com,.net,.xyz)最后部分的.
字符,也添加+
修饰符以接受域和子域
(([A-ZA-Z] {2,6-}))+
最后,它应该是这样的
([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
谢谢大家的帮助。