[英]How to extract number from a string in javascript
我在 javascript 中有一個元素,如下所示:
<span>280ms</span>
我想從 span 元素中提取 280 。 我該怎么做? span 元素中的內容將是任何數字,后跟 ms。
parseInt()
非常可愛。
HTML
<span id="foo">280ms</span>
JS
var text = $('#foo').text();
var number = parseInt(text, 10);
alert(number);
parseInt()
會將任何字符串作為數字處理,並在到達非數字字符時停止。 在這種情況下, m
在280ms
。 在找到數字2
、 8
和0
后,將這些數字評估為以 10 為底(第二個參數)並返回數字值280
。 請注意,這是一個實際數字,而不是字符串。
編輯:
@Alex Wayne的評論。
只需先過濾掉非數字字符。
parseInt('ms120'.replace(/[^0-9\.]/g, ''), 10);
嘗試這個:
var num = document.getElementById('spanID').innerText.match(/\d+/)[0];
jQuery版本:
var num = $('span').text().match(/\d+/)[0]; // or $('#spanID') to get to the span
如果您想作為數值(而不是字符串),請使用 parseInt:
var num = parseInt($('span').text().match(/\d+/)[0], 10);
嘗試以下
var strValue = // get 280m from the span
var intValue = parseInt(strValue.match(/[0-9]+/)[0], 10);
您可以使用parseInt()
function
var number = parseInt($("span").text())
一般來說,數字沒有負數或正數
<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]+/));
var myNumber= $('span').text().replace(/[^d.,]+/,'');
更改跨度:
<span id='msSpan'>280ms</span>
然后你可以這樣做:
alert($('#msSpan').text());
它總是以“ms”結尾嗎? 你可以做:
var num = s.substring(0, s.length-2)
其中 s 是跨度中的字符串。 要獲取此值,您可以在 span 上使用 text()、html() 或 innerHTML。
使用 jquery 非常簡單。 可能更好地給跨度一個ID
var mytext=replace($('span').text(),"ms","");
編輯刪除 ms
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.