2011-09-01 94 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),如果它总是(感谢@Joseph!):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);