简体   繁体   中英

How to extract number from a string in javascript

I have an element in javascript like follows:

 <span>280ms</span>

I want to extract 280 from the span element. How can I do it? The content within the span element will be any number followed by ms.

parseInt() is pretty sweet.

HTML

<span id="foo">280ms</span>

JS

var text = $('#foo').text();
var number = parseInt(text, 10);
alert(number);

parseInt() will process any string as a number and stop when it reaches a non-numeric character. In this case the m in 280ms . After have found the digits 2 , 8 , and 0 , evaluates those digits as base 10 (that second argument) and returns the number value 280 . Note this is an actual number and not a string.

Edit:
@Alex Wayne 's comment.
Just filter out the non numeric characters first.

parseInt('ms120'.replace(/[^0-9\.]/g, ''), 10);

Try this:

var num = document.getElementById('spanID').innerText.match(/\d+/)[0];

jQuery version:

var num = $('span').text().match(/\d+/)[0]; // or $('#spanID') to get to the span

If you want as numeric value (and not as string), use parseInt:

var num = parseInt($('span').text().match(/\d+/)[0], 10);

Try the following

var strValue = // get 280m from the span
var intValue = parseInt(strValue.match(/[0-9]+/)[0], 10);

You could use the parseInt() function

var number = parseInt($("span").text())

in general for numbers no mather negative or positive

<div>
  blah blah
  <span>285blahblah</span>
</div>

var html= document.getElementsByTagName('div')[0].innerHTML;// or $('div').html() if jquery

var number = parseFloat(html.match(/-*[0-9]+/));

http://jsfiddle.net/R55mx/

var myNumber= $('span').text().replace(/[^d.,]+/,'');

Change the span in:

<span id='msSpan'>280ms</span>

Then you can do:

alert($('#msSpan').text());

Will it always end in "ms"? You can do:

var num = s.substring(0, s.length-2) 

where s is the string in the span. To get this value, you can use text(), html(), or innerHTML on the span.

using jquery is pretty simple. probably better giving the span an id though

var mytext=replace($('span').text(),"ms","");

edited to remove ms

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM