0

jQuery/Javascript を使用して文字列の初期数値を取得しようとしています。現在、取得している文字列は次のとおりです。

  2 <a href="user/usergroups.html?uname=Users@Users.com ">view</a>

この文字列を取得しようとしています (これは変数に格納されており、最初の番号のみを取得します。通常、最初の数字のみを取得しますが、これを柔軟にしたいので、番号は長さは任意の数字 (たとえば、「2」から「20,000,000」) であるため、最初の数桁を取得するだけでは機能しないことがわかっています。

誰かが解決策を持っていますか?お時間をいただきありがとうございます!

4

6 に答える 6

1

parseFloat を使用します。数字以外の文字に遭遇すると停止します。

parseFloat(mystring);
于 2012-10-12T13:52:47.507 に答える
1
var str = '2 <a href="user/usergroups.html?uname=Users@Users.com ">view</a>​​​​​​​​​​​​​';
var parts = str.split(' ');
alert(parts[0]);​​​​
于 2012-10-12T13:52:54.340 に答える
0

番号がコンマで区切られていない場合:

var s   = '1234 <a href="user/usergroups.html?uname=Users@Users.com ">view</a>',
    num = parseInt(s, 10);

番号がカンマ区切りの場合:

var s   = '1,234 <a href="user/usergroups.html?uname=Users@Users.com ">view</a>',
    num = parseInt(s.match(/^\d{1,3}(?:,\d{3})*/)[0].replace(/,/g, ''), 10);
于 2012-10-12T13:58:40.947 に答える
0
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/usergroups.html?uname=Users@Users.com ">view</a>')
出力: 2

getNum ('20,000,000 <a href="user/usergroups.html?uname=Users@Users.com ">view</a>')
出力: 20000000

于 2012-10-12T13:59:29.523 に答える
0

^\d+解決策の 1 つは、数字だけを取得する場合、または^[\d,]+コンマを許可する場合に正規表現を使用することです。

var input = '2 <a href="user/usergroups.html?uname=Users@Users.com ">view</a>';
var number = input.match(/^\d+/g);
于 2012-10-12T13:52:42.937 に答える
0

数値にカンマがあり、小数点の場合はドットがあり、その後に常にスペースがある場合、このような正規表現を使用して一致します...

var str = '2,000.33 <a href="user/usergroups.html?uname=Users@Users.com ">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)
于 2012-10-12T13:57:19.803 に答える