如何在JavaScript中从字符串中获取所有数字?

如何在JavaScript中从字符串中获取所有数字?,javascript,regex,numbers,integer,Javascript,Regex,Numbers,Integer,假设我有一个输入字段,希望解析提交字符串中的所有数字。例如,它可以是: Hi I'm 12 years old. 我如何解析所有的数字而不使用一个通用的模式 我试过: x.match(/\d+/) 但是它只抓取12,不会经过下一个空格,如果用户输入更多的数字,并且中间有空格,这是有问题的 添加g标志以返回数组中的所有匹配项: var matches = x.match(/\d+/g) 但是,这可能无法捕获带有分隔符的数字,如1000或0.123 您可能希望将正则表达式更新为: x.matc

假设我有一个输入字段,希望解析提交字符串中的所有数字。例如,它可以是:

Hi I'm 12 years old.
我如何解析所有的数字而不使用一个通用的模式

我试过:

x.match(/\d+/)

但是它只抓取12,不会经过下一个空格,如果用户输入更多的数字,并且中间有空格,这是有问题的

添加
g
标志以返回数组中的所有匹配项:

var matches = x.match(/\d+/g)
但是,这可能无法捕获带有分隔符的数字,如
1000
0.123

您可能希望将正则表达式更新为:

x.match(/[0-9 , \.]+/g)
var words = sentence.split(" ");
var numbers = words.filter(function(w) {
    return w.match(/\d+/);
})