Javascript string.search |点击次数

Javascript string.search |点击次数,javascript,regex,string,Javascript,Regex,String,我正在使用.search string方法搜索字符串中的数字: var myString = "20 fur bar 50"; alert(myString.search(/\d/); 这将返回第一个数字的位置:0。 我怎样才能得到第二个数字的位置? 有没有办法确定点击次数?使用match和g(全局)标志 如果不想单独匹配数字,请将其更改为\d+ .如何获取第二个数字的位置 myString.indexOf(myString.match(/\d/g)[1]) 有没有办法知道有多少点击率 my

我正在使用.search string方法搜索字符串中的数字:

var myString = "20 fur bar 50";
alert(myString.search(/\d/);
这将返回第一个数字的位置:0。 我怎样才能得到第二个数字的位置?
有没有办法确定点击次数?

使用
match
g
(全局)标志

如果不想单独匹配数字,请将其更改为
\d+


.

如何获取第二个数字的位置

myString.indexOf(myString.match(/\d/g)[1])

有没有办法知道有多少点击率

myString.match(/\d/g).length


当然,我有上面的硬编码索引1,您必须进行适当的检查。

如果您使用
exec

var myString = "20 fur bar 50";
var numberPositions = [];
var numberRe = /\d+/g;
for (var match; (match = numberRe.exec(myString));) {
  numberPositions.push(
      [numberRe.lastIndex - match[0].length, numberRe.lastIndex]);
}
然后,
numberPositions
是开始(包含)、结束(独占)对的数组:

[0,2]是
20
的字符范围(不包括结尾),而[11,13]是
50
的相应范围


这里使用的regexp是
/\d+/
而不是
/\d/
,因此,不是为
2
0
获取单独的范围,而是为整个整数获取一个范围。

谢谢!这正是我要找的。他最初是在找职位吗?:)@纳文:看起来是这样,但是OP说这正是他们需要的:)+1:是的,的确如此:)。更奇怪的是,是否有可能反过来做。
[[0,2],[11,13]]