如js123ldka78sdasfgr653 => [123,78,653]
一般做法
分析:
1.循环字符串每个字符,是数字的挑出来拼接在一起,不是数字的,就给他空的拼个逗号
2.将新字符串每一位转换为数组,再次遍历,存在的挑出来,即得到结果
var str="js123ldka78sdasfgr653"; var new_str=""; var arr=[]; var arr2=[]; for(var i=0;i<str.length;i++){ var code=str.charAt(i).charCodeAt(); if(code>=48&&code<=57){ new_str+=str.charAt(i); } else{ new_str+=","; } } arr=new_str.split(","); //不写分隔符就是整个字符串装进数组 for(var i=0;i<arr.length;i++){ if(arr[i]){ arr2.push(arr[i]); } } alert(arr2);
正则:
var str="js123ldka78sdasfgr653"; var re=/\d+/g; str=str.match(re); alert(str);