【发布时间】:2013-11-16 19:31:34
【问题描述】:
我正在学习 javascript 中的正则表达式,我认为我缺少一些东西。
我正在使用一个尝试从字符串中提取有效电子邮件地址的示例。我收到了有效的电子邮件,但我也收到了无效的电子邮件。代码如下:
var teststring = "This is my test string with a valid email: this@that.com,
and an invalid email: this@broken.1. Pull only the valid email.";
teststring.match(/[A-Za-z0-9_+.-]+@[A-Za-z0-9]+.[A-Za-z]{2,3}/g)
当我运行 match 方法时,我收到了返回的有效电子邮件“this@that.com”和无效电子邮件“this@broken.1”。
我认为最后一个方括号末尾的 {2,3} 应该指定括号内的特定字符搜索只有在它们包含 2 到 3 个条件实例时才有效,那么为什么返回最后一个点后仅带有“1”的损坏的电子邮件?
我还应该补充一点,我完全理解这不是一个完整的电子邮件验证表达式。对我来说,这纯粹是一个试图理解正则表达式的问题。我正在四处寻找一个明确的答案,但找不到我想要的确切答案。
谢谢
【问题讨论】:
-
我知道你这样做只是为了学习,但不要忽视validating email adresses with regular expressions is a bad idea
标签: javascript regex validation email