2010-12-20 151 views
1

想這是我的代碼的Javascript比賽

var str="abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;"; 

var patt1=/abc=([\d]+)/g; 
document.write(str.match(patt1)); 

我想要的輸出1234587,19855284

這並不返回數字,而是返回完整的字符串,它是在模式 如果我刪除「 g'從它返回的模式abcd = 1234578,1234578我做錯了什麼?

回答

0

如果這是你想要

1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587什麼, 19855284,1234587,19855284

那就試試這個

var str="abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;"; 

var patt1=/([\d]+)/g; 
document.write(str.match(patt1)); 

或sjngm提到

您可以使用數組索引
2

match()返回一個數組。第一個條目(索引0)始終是匹配的字符串。之後,你會得到匹配的組。

toString() - 數組的邏輯取所有元素並用「,」將它們連接起來。您可以使用例如join("-")改變這一點。

1

請嘗試下面的代碼。

var str = "abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;"; 
     str = str.replace(/abc=/gi, ''); 
     document.write(str);