第一种:用for循环遍历
一个for循环,里面再加两个if判断就可以了;
下面直接上代码:
首先要说一下这个判断条件
var str='12 fff 87 er334 233 -=-=fa80'; var arr=new Array(); var temp=''; //判断是不是数字 for(var j=0;j<str.length;j++){ if(!(isNaN(str[j]*1))&&str[j]!=' '){
这段代码的意思是,首先将str[j]这个下标的值进行隐式转换,如果这个数是数字,那么isNsN方法就返回false,再将其取反,就为true,同时还要判断并后面的代码,判断这个下标的值是不是不等于空格。
全部代码:
var str='12 fff 87 er334 233 -=-=fa80';
var arr=new Array();
var temp='';
//判断是不是数字
for(var j=0;j<str.length;j++){
if(!(isNaN(str[j]*1))&&str[j]!=' '){
temp+=str[j];
if(isNaN(str[j+1]*1)||str[j+1]==' '){
arr.push(temp);
temp='';
}
}
}
console.log(arr);
第二种更简单的方法:(用正则)
<script type="text/javascript">
//将字符串str里的数字提取出来,装进arr数组中
var str='12 fff 87 er334 233 -=-=fa80';
var arr=[];
console.log(str.match(/\d+/g));
</script>
输出结果在控制台哦~