一个字符串返回只包含数字的一个数组

两种方法

var str='12shihsk387khk643h21';

1、正则表达式

function test(str){
var re=/(\d){1,}/g;
var arr=[];
str.replace(re,function($0,$1){
arr.push($0);
})
return arr;
}

test(str);

2、普通js方法

function test(str){
var arr=[];
var isNum=false;
for(var i=0;i<str.length;i++){
var charCode=str.charCodeAt(i);
if(charCode>=48 && charCode<=57){
if(isNum){
arr[arr.length-1]+=str[i];
}else{
arr.push(str[i]);
}
isNum=true;
}else{
isNum=false;
}
}
return arr;
}

test(str);

posted @ 2017-10-11 17:22  聪明没一休  阅读(246)  评论(0编辑  收藏  举报