2011-09-01 3 views
3

Как разделить выбранное значение, отделить номер от текста в jQuery?Разбор номера из строки

Пример:

myselect содержит c4

Просто получить только номер 4.

$('select#myselect').selectToUISlider({ 
     sliderOptions: { 
     stop: function(e,ui) { 
      var currentValue = $('#myselect').val(); 
      alert(currentValue); 
      var val = currentValue.split('--) 
      alert(val); 

     } 
     } 
    }); 
+0

Пожалуйста, используйте значимое, соответствующее название. – SLaks

+0

Синтаксическая ошибка в строке над последним предупреждением. Ваш второй дефис должен быть конечной меткой одиночной кавычки. С учетом сказанного это значение действительно «c-4», а не «c4», как вы сказали? Если нет, то почему вы раскалываете «-»? – CashIsClay

ответ

9

Вы можете использовать регулярное выражение, чтобы вытащить только цифры.

var value = "c4"; 
alert (value.match(/\d+/g)); 

редактировать: изменено регулярное выражение для /\d+/g, чтобы соответствовать числу больше, чем одну цифры

+2

, который будет работать. Единственное, что я добавил бы к этому, - это использовать + подстановочный знак после \ d, чтобы включить более 1 цифры цифр –

+0

спасибо .. хорошо работает :) – user683742

+0

@Joseph, отличная точка. Включено в ответ :) –

3

1), если она всегда (спасибо @ Джозеф!): 1 буква, а затем цифры, которые вы можете сделать простую подстроку:

'c4'.substring(1); // 4 
'c45'.substring(1); // 45 

2) вы также можете заменить все нечисловые символы с регулярным выражением:

'c45'.replace(/[^0-9]/g, ''); // 45 
'abc123'.replace(/[^0-9]/g, ''); // 123 
1

Если вы знаете, что префикс всегда только один персонаж долго вы могли бы использовать это:

var val = currentValue.substr(1); 
Смежные вопросы