Làm thế nào tôi có thể đếm số nguyên trong một chuỗi bằng cách sử dụng jQuery hoặc javascript?Đếm số nguyên trong một chuỗi
Ví dụ g66ghy7 = 3
Làm thế nào tôi có thể đếm số nguyên trong một chuỗi bằng cách sử dụng jQuery hoặc javascript?Đếm số nguyên trong một chuỗi
Ví dụ g66ghy7 = 3
alert("g66ghy7".replace(/[^0-9]/g,"").length);
Look here.
Heh, chỉ cần không mess nó với điều này: '/^[0-9]/g' :) http://jsfiddle.net/a52bokjf/1/ –
Một giải pháp thay thế dài hơn một chút là chuyển đổi từng char thành một số; nếu nó không thất bại, hãy tăng bộ đếm.
var sTest = "g66ghy7";
var iCount = 0;
for (iIndex in sTest) {
if (!isNaN(parseInt(sTest[iIndex]))) {
iCount++;
}
}
alert(iCount);
Xem thêm jsfiddle.
Giải pháp đơn giản nhất là sử dụng cụm từ thông dụng để thay thế tất cả nhưng giá trị số và kéo dài sau đó. Hãy xem xét những điều sau đây:
var s = 'g66ghy7';
alert(s.replace(/\D/g, '').length); //3
Không nên s .replace ('/ \ d/g') đủ? –
'\ D' có nghĩa là không phải là số, do đó' s.replace (/ \ D/g, '') ' –
@RicardoTomasi - cảm ơn, được cập nhật vì nó được sử dụng tốt hơn. – f0x
Tôi tìm thấy điều này mình trông xinh đẹp/đơn giản:
var count = ('1a2b3c'.match(/\d/g) || []).length
Một RegExp có thể sẽ thực hiện tốt hơn (it appears):
var r = new RegExp('\\d', 'g')
, count = 0
while(r.exec('1a2b3c')) count++;
Đây có phải là một bài tập về nhà? Nếu có, vui lòng thêm thẻ [bài tập về nhà] (http://stackoverflow.com/questions/tagged/homework). –
Không phải là 66 một số nguyên? Tôi nghĩ rằng bạn có nghĩa là "chữ số" :) –