2013-01-25 43 views
6

Giả sử tôi có trường nhập và muốn phân tích cú pháp tất cả các số từ chuỗi đã gửi. Ví dụ: có thể là:Làm cách nào để phân tích cú pháp số từ một chuỗi trong JavaScript?

Hi I'm 12 years old. 

Làm cách nào để phân tích cú pháp tất cả các số mà không có mẫu chung để làm việc?

tôi đã cố gắng:

x.match(/\d+/) 

nhưng nó chỉ lấy 12 và sẽ không đi quá khứ không gian tiếp theo, đó là vấn đề nếu các yếu tố đầu sử dụng số lượng nhiều hơn với các không gian ở giữa chúng.

Trả lời

9

Thêm g cờ để trả lại tất cả các trận đấu trong một mảng:

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

Tuy nhiên, điều này không thể bắt con số với seperators, như 1,000 hoặc 0.123

Bạn có thể muốn cập nhật regex của bạn để:

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

Cảm ơn! Tôi phải đợi 10 phút để chọn nó làm câu trả lời đúng. –

0
var words = sentence.split(" "); 
var numbers = words.filter(function(w) { 
    return w.match(/\d+/); 
}) 
Các vấn đề liên quan