带有javascript的电子邮件查找器正则表达式

带有javascript的电子邮件查找器正则表达式,javascript,regex,email-validation,Javascript,Regex,Email Validation,我用这个正则表达式来匹配字符串中的电子邮件地址 [a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,}) 它不是世界上最好的正则表达式,但对我来说是很好的 当我将此与javascript一起使用时,如下所示: var emails = string.match("[a-zA-

我用这个正则表达式来匹配字符串中的电子邮件地址

[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})
它不是世界上最好的正则表达式,但对我来说是很好的

当我将此与javascript一起使用时,如下所示:

var emails = string.match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})");
var emails = email[0].match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})g");
我只匹配第一个电子邮件地址,这是正常的,因为我没有使用g修饰符

问题是,当我像这样使用g修饰符时:

var emails = string.match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})");
var emails = email[0].match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})g");
var电子邮件为空,因此我的匹配无效

如果你能帮我做这个


谢谢。

试试这个,我在系统的servlet验证过滤器中使用了它,我不知道它是否在javascript中工作

"^[a-zA-Z0-9._]+@[a-zA-Z0-9._]{3,}$"

试试这个,我在我的系统中的servlet验证过滤器中使用了它,我不知道它是否在javascript中工作

"^[a-zA-Z0-9._]+@[a-zA-Z0-9._]{3,}$"
尝试:

尝试:


请提供一个真实的例子来测试我没有得到g部件,可能是重复的,请提供一个真实的例子来测试我没有得到g部件,可能是重复的,谢谢Sudhir,你的例子工作得很好。我已经试过了。嗨,你能提供一个学习regexp的链接和一个帮助它的工具吗?javascript regexp和java match方法的语法一样吗?我的意思是,请回答我:)好的,你可以参考这个网站来学习regexp:,我不懂java,但是模式应该是相同的,只是使用这些模式的函数在不同的语言上有所不同..谢谢Sudhir,你的例子很好用。我已经试过了。嗨,你能提供一个学习regexp的链接和一个帮助它的工具吗?javascript regexp和java match method语法一样吗?我的意思是,请回答我:)好的,你可以参考这个网站来学习regexs:,我不知道java,但是模式应该是一样的,只是使用这些模式的函数在不同的语言上有所不同。。