2010-12-20 113 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);