Javascript从字符串中提取数字

时间:2011-12-03 06:35:09

标签: javascript regex substring slice

我想在javascript中从字符串中提取数字,如下所示:

如果string ='make1to6'我想在整个字符串中的'to'子字符串之前和之后提取数字字符。即提取1和6

字符串的长度不固定,长度最多为10个字符。字符串中“to”两侧的数字最多可以是两位数。

可能的字符串值:

  • sure1to3
  • ic3to9ltd
  • anna1to6
  • joy1to4val
  • make6to12
  • ext12to36

想到类似的东西:

function beforeTo(string) {
    return numeric_value_before_'to'_in_the_string;
}

function afterTo(string) {
    eturn numeric_value_after_'to'_in_the_string;
}

我将使用这些返回值进行一些计算。

2 个答案:

答案 0 :(得分:6)

这是一个示例函数,它将返回一个表示两个数字的数组,如果没有匹配则返回null

function extractNumbers(str) {
    var m = /(\d+)to(\d+)/.exec(str);
    return m ? [+m[1], +m[2]] : null;
}

您可以调整该正则表达式以满足您的需求,例如使其不区分大小写:/(\d+)to(\d+)/i.exec(str)

答案 1 :(得分:1)

您可以使用正则表达式来查找它:

var str = "sure1to3";
var matches = str.match(/(\d+)to(\d+)/);
if (matches) {
    // matches[1] = digits of first number
    // matches[2] = digits of second number
}