繁体   English   中英

检查字符串是否包含电子邮件地址?

[英]Check if a string contains an email address?

如何检查以验证给定的字符串是否包含电子邮件地址。

电子邮件地址也将包含在许多其他文本中。

此外,不必严格验证电子邮件地址本身。 a@b.xyz只是想确保a@b.xyz存在。

示例字符串:

Overall I liked the service, but had trouble using the widget generator.

Want more info? You can contact me at bob@example.org.

普通的 javascript 很好,但我碰巧正在使用 jQuery,所以如果有某种帮助函数可以使这更容易......去吧。

Debuggex 示例

JsFiddle 示例

function checkIfEmailInString(text) { 
    var re = /(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;
    return re.test(text);
}

你可以使用这个:

var StrObj = "whatever, this is my email dave@gmail.com other text";
var emailsArray = StrObj.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
if (emailsArray != null && emailsArray.length) {
    //has email
}

如果需要,这还可以让您从数组中获取电子邮件地址。

尝试

/\b[a-z0-9-_.]+@[a-z0-9-_.]+(\.[a-z0-9]+)+/i.test(text)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM