2016-11-30 41 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]); 
 
}