【发布时间】:2012-07-04 16:24:07
【问题描述】:
我有这个正则表达式用于匹配字符串中的电子邮件地址。
[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,})");
我只匹配第一个电子邮件地址,这很正常,因为我没有使用 g 修饰符。
问题是当我像这样使用 g 修饰符时:
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 emails 为空,所以我的匹配不起作用。
如果你能帮我解决这个问题。
谢谢。
【问题讨论】:
-
请提供一个真实的例子来测试我没有很好地得到g部分
标签: javascript regex email-validation