如何使用Javascript从字符串中提取数字? 下面的测试用例:
string s = 1AA11111
string s1= 2111CA2
string s result = 111111
string s1 result = 211112
我的代码无效:
var j = 0;
var startPlateNums = "";
while (j <= iStartLength && !isNaN(iStartNumber.substring(j, j + 1))){
startPlateNums = startPlateNums + iStartNumber.substring(j, j + 1);
j++;
}
答案 0 :(得分:4)
答案 1 :(得分:2)
你可以这样做: 的编辑:强>
var num = "123asas2342a".match(/[\d]+/g)
console.log(num);
// THIS SHOULD PRINT ["123","2342"]
答案 2 :(得分:1)
正则表达式替换可能是最简单,最好的方法:
'2111CA2'.replace(/\D/g, '');
然而,这是另一种不使用正则表达式的替代方法:
var s = [].filter.call('2111CA2', function (char) {
return !isNaN(+char);
}).join('');
或者使用简单的for循环:
var input = '2111CA2',
i = 0,
len = input.length,
nums = [],
num;
for (; i < len; i++) {
num = +input[i];
!isNaN(num) && nums.push(num);
}
console.log(nums.join(''));