2013-01-25 18 views
6

比方說,我有一個輸入字段,並且想要解析提交的字符串中的所有數字。例如,它可能是:如何解析JavaScript中的字符串數字?

Hi I'm 12 years old. 

如何解析所有數字而沒有通用模式?

我想:

x.match(/\d+/) 

但只抓住12,不會走過去的未來空間,這是有問題的,如果用戶輸入更多的數字與他們之間的-空間。

回答

9

添加g標誌返回所有比賽中的數組:

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

然而,這可能與分隔符趕上數字,像1,0000.123

您可能需要更新您的正則表達式:

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

謝謝!我必須等待10分鐘才能選擇它作爲正確答案。 –

0
var words = sentence.split(" "); 
var numbers = words.filter(function(w) { 
    return w.match(/\d+/); 
})