如何从 JavaScript 中的字符串中获取所有数字? [复制]

Posted

技术标签:

【中文标题】如何从 JavaScript 中的字符串中获取所有数字? [复制]【英文标题】:How to grab all numbers from a string in JavaScript? [duplicate] 【发布时间】:2013-01-08 23:25:32 【问题描述】:

假设我有一个输入字段并且想要解析提交字符串中的所有数字。例如,它可能是:

Hi I'm 12 years old.

如何在没有通用模式的情况下解析所有数字?

我试过了:

x.match(/\d+/)

但它只抓取 12 并且不会越过下一个空格,如果用户输入更多数字且它们之间有空格,这会出现问题。

【问题讨论】:

【参考方案1】:

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

var matches = x.match(/\d+/g)

但是,这可能无法捕获带有分隔符的数字,例如 1,0000.123

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

x.match(/[0-9 , \.]+/g)

【讨论】:

【参考方案2】:
var words = sentence.split(" ");
var numbers = words.filter(function(w) 
    return w.match(/\d+/);
)

【讨论】:

以上是关于如何从 JavaScript 中的字符串中获取所有数字? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从PHP和Javascript中的字符串中删除所有空格[重复]

JavaScript:如何从 JSON 字符串中删除除值中的空格之外的所有空格?

如何从字符串中获取 4 个 javascript 中邮政编码的序号?

如何从 JavaScript 中的对象数组中获取不同的值?

递归打印字符串的所有排列(Javascript)

如何从javascript中的url获取id? [复制]