如何在javascript中从字符串中获取单个数字

如何在javascript中从字符串中获取单个数字,javascript,arrays,regex,match,Javascript,Arrays,Regex,Match,我正在尝试从随机生成的字符串中提取每个单个数字,并将它们存储在数组中,例如: random string = eejhbf3u4du34uiwe93u8quiwe92oq 我希望我的数组是这样的 number[0] = 3 number[1] = 4 number[2] = 3 number[3] = 4 number[4] = 9 number[5] = 3 number[6] = 8 number[7] = 9 number[8] = 2 我的密码是 var singlenumbers

我正在尝试从随机生成的字符串中提取每个单个数字,并将它们存储在数组中,例如:

random string  = eejhbf3u4du34uiwe93u8quiwe92oq
我希望我的数组是这样的

number[0] = 3
number[1] = 4
number[2] = 3
number[3] = 4
number[4] = 9
number[5] = 3
number[6] = 8
number[7] = 9
number[8] = 2
我的密码是

var singlenumbers = randomstring.match(/\d+/);

alert(singlenumbers);

任何建议?

使用
/g
匹配所有实例:

var singlenumbers = randomstring.match(/\d/g);
如果需要,您可以通过简单的
map
调用将每个结果匹配转换为一个数字:

singlenumbers = singlenumbers.map(function (i) { return i | 0 });

移除
+
-他想要一个数字,这是一个相当大的方法:)不要用核武器杀死麻雀!此外,此解决方案还修改了默认字符串对象,对于默认javascript代码段,不建议使用什么?现在我离这个问题禁令还有一段距离。这个解决方案是为那些不想使用regexp的人设计的,因为他们总是忘记它是如何工作的,所以他们大部分时间都放弃了它(就像我自己)@bukart我一直在修改原型没问题。
String.prototype.forEach=Array.prototype.forEach; 
String.prototype.getSingleDigits=function(){
    var arr=[];
    this.forEach(function(e){
        if (!isNaN(parseInt(e))) arr.push(e)
    }); 
    return arr;
};

alert("sdcia298f9384n29n94".getSingleDigits())