如何使用Javascript从字符串中提取数字

how to extract numbers from string using Javascript?

本文关键字:提取 数字 字符串 何使用 Javascript      更新时间:2023-09-26

如何使用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++;
} 

一个简单的正则表达式怎么样

s.replace(/[^'d]/g, '')

或如评论中所述

s.replace(/'D/g, '')

http://jsfiddle.net/2mguE/

你可以

做:编辑:

var num = "123asas2342a".match(/['d]+/g)
console.log(num);
// THIS SHOULD PRINT ["123","2342"]

正则表达式替换可能是最简单和最好的方法:

'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(''));