2016-11-30 79 views
1

1点具体的数据我想从这样的一个URL只获取“[email protected]”(或将要在URL中的任何电子邮件):使用JavaScript和正则表达式来提取URL

我的问题是溶胶已经是所有的这3个病例可(电子邮件之前使没有其他数据或数据后的电子邮件或数据)发生

不幸的是我有零正则表达式的能力,但能得到这2两件事至今起来:

/email=(.*)/ 
/email=(.*)\&/ 

首届一个工作,如果邮件是唯一的数据。 如果在我的电子邮件后有另一个数据,第二个工作。

但如前所述,我需要让它工作,不管上述三种类型中的哪一种是这种情况。

请问你能帮我吗?

非常感谢!

顺便说一句,我需要它这样的:

var msg = window.location.href.match(/email=(.*)/); 

(我搜索了2个多小时的答案,使用谷歌,使用正则表达式测试人员,检查了备忘单,并看了很多StackOverFlow-问题...但我解决不了我自己)

+0

[正则表达式匹配的电子邮件]的可能的复制(http://stackoverflow.com/questions/11312662/regex-for-email-matching) – Marcs

回答

0

试试这个正则表达式:https://regex101.com/r/gMyqDa/1 它匹配电子邮件模式不只是后email=

+0

谢谢,但这被删除了(我想我删除了它,因为我现在看到你给了我一个删除链接... :)) – Imre

+0

那真是令人尴尬!固定。 :) – yelsayed

+0

很好,非常感谢yBot!我在我的网站中实现了这一点,它工作正常:)这是一个比我的尝试更容易的方法 – Imre

0

任何字符,如果你的情况是如此简单,那么就排除安培rsand

var urls = [ 
 
"www.website.com/[email protected]", 
 
"www.website.com/[email protected]&name=john", 
 
"www.website.com/?name=john&[email protected]" 
 
]; 
 

 
for (i in urls) { 
 
    var url = urls[i]; 
 
    console.log(url); 
 
    console.log(url.match(/email=[^&]+/)[0]); 
 
}