假设我有一个输入字段,想要解析提交的字符串中的所有数字。例如,它可能是:
Hi I'm 12 years old.
如何在不使用通用模式的情况下解析所有数字?
我试过了:
x.match(/\d+/)
但它只抓住了12并且不会超过下一个空格,如果用户输入更多带有空格的数字,则会出现问题。
答案 0 :(得分:11)
添加g
标志以返回数组中的所有匹配项:
var matches = x.match(/\d+/g)
但是,这可能无法抓住分隔符,例如1,000
或0.123
您可能希望将正则表达式更新为:
x.match(/[0-9 , \.]+/g)
答案 1 :(得分:1)
var words = sentence.split(" ");
var numbers = words.filter(function(w) {
return w.match(/\d+/);
})