簡體   English   中英

如何從 javascript 中的字符串中提取數字

[英]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()會將任何字符串作為數字處理,並在到達非數字字符時停止。 在這種情況下, m280ms 在找到數字280后,將這些數字評估為以 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]+/));

http://jsfiddle.net/R55mx/

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM