只在javascript中获取数字

时间:2013-07-16 05:11:12

标签: javascript string

我有一个喜欢的字符串

AA-12,AB-1,AC-11,AD-8,AE-30

我想从这个字符串中获取数字

12,1,11,8,30

如何使用JavaScript获取此内容?谢谢:))

4 个答案:

答案 0 :(得分:6)

使用正则表达式,例如

var numbers = yourString.match(/\d+/g);

numbers将是字符串中数字字符串的数组,例如

["12", "1", "11", "8", "30"]

答案 1 :(得分:1)

此外,如果您想要一个字符串作为结果

'AA-12,AB-1,AC-11,AD-8,AE-30'.replace(/[^0-9,]/g, '')

答案 2 :(得分:1)

var t = "AA-12,AB-1,AC-11,AD-8,AE-30";
alert(t.match(/\d+/g).join(','));

工作示例: http://jsfiddle.net/tZQ9w/2/

答案 3 :(得分:1)

如果这正是您输入的样子,我会拆分字符串并使用数字创建一个数组:

var str = "AA-12,AB-1,AC-11,AD-8,AE-30";
var nums = str.split(',').map(function (el) {
    return parseInt(el.split('-')[1], 10);
});

split将字符串拆分为分隔符,在本例中为逗号。返回的值是一个数组,我们将映射到我们想要的数组。在里面,我们将分裂连字符,然后确保它是一个数字。

输出:

nums === [12,1,11,8,30];

我完全没有进行完整性检查,因此您可能需要针对正则表达式进行检查:

/^(\w+-\d+,)\w+-\d+$/.test(str) === true

您可以在任何类似的解析问题中遵循相同的模式。