我想使用jQuery/Javascript獲取字符串的初始數值。現在,我得到的字符串是:從字符串獲取初始數字
2 <a href="user/[email protected] ">view</a>
我想借此字符串(存儲在一個變量,並從它通常只需要最初的號碼,我會只拿第一個數字,但我想讓這個靈活,所以這個數字可以是任何數字的長度(例如,「2」到「20,000,000」),所以我知道只是開頭的幾個數字不起作用。
是否有任何人有解決的辦法嗎?謝謝您的時間!
我想使用jQuery/Javascript獲取字符串的初始數值。現在,我得到的字符串是:從字符串獲取初始數字
2 <a href="user/[email protected] ">view</a>
我想借此字符串(存儲在一個變量,並從它通常只需要最初的號碼,我會只拿第一個數字,但我想讓這個靈活,所以這個數字可以是任何數字的長度(例如,「2」到「20,000,000」),所以我知道只是開頭的幾個數字不起作用。
是否有任何人有解決的辦法嗎?謝謝您的時間!
var str = '2 <a href="user/[email protected] ">view</a>';
var parts = str.split(' ');
alert(parts[0]);
之一,如果你想抓住只是個數字是使用正則表達式^\d+
的解決方案,或^[\d,]+
個如果允許逗號:
var input = '2 <a href="user/[email protected] ">view</a>';
var number = input.match(/^\d+/g);
使用parseFloat。它遇到非數字字符時會停止。
parseFloat(mystring);
如果有可能在數逗號,也許對於小數一個點,總有一個空間之後,我會匹配使用這樣的正則表達式...
var str = '2,000.33 <a href="user/[email protected] ">view</a>'
var bits = str.match(/^[\d,\.]+/)
// alerts 2,000.33
alert(bits[0])
// to convert to string...
num = parseFloat(bits[0].replace(/,/g,''))
alert(num)
// alerts: 2000.33 (treated as number, not as string representation of number)
'parseInt('2,000.33')'等於2 – Xophmeister
我認爲現在已經修復 –
如果數量不是逗號分隔:如果號碼是用逗號分隔的
var s = '1234 <a href="user/[email protected] ">view</a>',
num = parseInt(s, 10);
:
var s = '1,234 <a href="user/[email protected] ">view</a>',
num = parseInt(s.match(/^\d{1,3}(?:,\d{3})*/)[0].replace(/,/g, ''), 10);
function getNum (str) {
var result = '';
var nums = str.match(/^(\d+|\,)*/);
if(nums[0])
result = parseFloat(nums[0].replace(/,/g,''));
return result;
}
用法:
getNum ('2 <a href="user/[email protected] ">view</a>')
輸出繼電器:2
getNum ('20,000,000 <a href="user/[email protected] ">view</a>')
輸出:20000000
能不能請你改一下你的問題,這是相當令人費解。 –
「20,000,000」包括逗號? –