Быстрая проблема - извлечение чисел из строки - PullRequest
2 голосов
/ 23 августа 2009

Мне нужно извлечь одно переменное число из строки. Строка всегда выглядит так:

javascript:change(5);

с переменной 5.
Как я могу изолировать это? Большое спасибо заранее.

Ответы [ 4 ]

3 голосов
/ 23 августа 2009

Вот один из способов, предполагая, что число всегда заключено в круглые скобки:

var str = 'javascript:change(5);';
var lastBit = str.split('(')[1];
var num = lastBit.split(')')[0]; 
1 голос
/ 23 августа 2009
var str = 'javascript:change(5);', result = str.match(/\((\d+)\)/);

if ( result ) {
    alert( result[1] ) 
}
1 голос
/ 23 августа 2009

Простой RegExp может решить эту проблему:

var inputString = 'javascript:change(5);';
var results = /javascript:change\((\d+)\)/.exec(inputString);
if (results)
{
  alert(results[1]);  // 5
}

Использование части javascript:change в совпадении также гарантирует, что если строка не в правильном формате, вы не получите значение из совпадений.

1 голос
/ 23 августа 2009

Используйте регулярные выражения : -

var test = "javascript:change(5);"
var number = new RegExp("\\d+", "g")
var match = test.match(number);

alert(match);
...