【发布时间】:2013-01-08 23:25:32
【问题描述】:
假设我有一个输入字段并且想要解析提交字符串中的所有数字。例如,它可能是:
Hi I'm 12 years old.
如何在没有通用模式的情况下解析所有数字?
我试过了:
x.match(/\d+/)
但它只抓取 12 并且不会越过下一个空格,如果用户输入更多数字且它们之间有空格,这会出现问题。
【问题讨论】:
标签: javascript regex numbers integer
假设我有一个输入字段并且想要解析提交字符串中的所有数字。例如,它可能是:
Hi I'm 12 years old.
如何在没有通用模式的情况下解析所有数字?
我试过了:
x.match(/\d+/)
但它只抓取 12 并且不会越过下一个空格,如果用户输入更多数字且它们之间有空格,这会出现问题。
【问题讨论】:
标签: javascript regex numbers integer
添加g 标志以返回数组中的所有匹配项:
var matches = x.match(/\d+/g)
但是,这可能无法捕获带有分隔符的数字,例如 1,000 或 0.123
您可能希望将您的正则表达式更新为:
x.match(/[0-9 , \.]+/g)
【讨论】:
var words = sentence.split(" ");
var numbers = words.filter(function(w) {
return w.match(/\d+/);
})
【讨论】: