1、第一种方法:
用字符串的方法,遍历字符串每一个字符,当字符的编码介于0-9之间时将字符存在变量tmp中,否则变量追加到数组并且清空。
<script> var str = 'haj123sdk54hask33dkhalsd879'; function findNum(str){ var arr = []; var tmp = ''; for(var i=0;i<str.length;i++){ if( str.charAt(i)<='9' && str.charAt(i)>='0' ){ tmp += str.charAt(i); } else{ if(tmp){ arr.push(tmp); tmp = ''; } } }
//在循环外加一个判断,是因为当字符串遍历到最后一位9的时候,不会走else里面的内容,无法加到数组 if(tmp){ arr.push(tmp); tmp = ''; } return arr; } alert( findNum(str) ); //[123,54,33,879] </script>
2、第二种方法:正则的match匹配。
function findNum(str){ return str.match(/d+/g); } alert( findNum(str) ); //[123,54,33,879]