2011-10-05 26 views
16

如何计算使用jQuery或JavaScript的字符串中的整数数量?计算字符串中整数的数量

例如g66ghy7 = 3

+1

这是一门功课?如果是这样,请添加[作业](http://stackoverflow.com/questions/tagged/homework)标签。 –

+5

是不是66的整数?我认为你的意思是“数字”:) –

回答

28
alert("g66ghy7".replace(/[^0-9]/g,"").length); 

查找here

+0

嘿,只是不要把它弄乱:'/^[0-9]/g' :) http://jsfiddle.net/a52bokjf/1/ –

1

稍长一点的选择是将每个字符转换为数字;如果不失败,请提高柜台。

var sTest = "g66ghy7"; 

var iCount = 0; 
for (iIndex in sTest) { 
    if (!isNaN(parseInt(sTest[iIndex]))) { 
     iCount++; 
    } 
} 
alert(iCount); 

另请参阅我的jsfiddle

5

最简单的解决方案是使用正则表达式来替换所有的但是的数值,然后拉出长度。考虑以下几点:

var s = 'g66ghy7'; 
alert(s.replace(/\D/g, '').length); //3 
+0

不应该是s .replace('/ \ d/g')够了吗? –

+0

'\ D'表示非数字,所以s.replace(/ \ D/g,'')' –

+0

@RicardoTomasi - 谢谢,因为它更好用了。 – f0x

5

我觉得这看起来很漂亮/简单:

var count = ('1a2b3c'.match(/\d/g) || []).length 

一个RegExp可能会表现得更好(it appears):

var r = new RegExp('\\d', 'g') 
    , count = 0 

while(r.exec('1a2b3c')) count++; 
相关问题