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]