2012-06-19 68 views
7
mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862" 

我想獲得這個字符串「9862」中的前4個數字。如何獲得此字符串中的第一個數字序列。並將其存儲在anothoer變量中?Javascript:如何獲得字符串中的前4個數字?

Javascript似乎無法識別此變量。我不知道爲什麼。 如果我做的:

alert(mystring); //I don't get an alert pop up nor does it show any errors. 

難道還有什麼是錯誤的,我想在「MyString的」變量存儲文本?

+0

使用正則表達式 – Quincy

+0

是從開始mystring.match(/^[0-9] + /)獲取正則表達式的數字,你確定數字位置不會改變? –

回答

10
mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862"; 

mystring = mystring.substring(0, 4); 

alert(mystring.trim()); 
+0

謝謝,但是如果只有3個數字。我在說9862很常見,但偶爾我會舉例如'956'的3位數字,子字符串在數字後留下空格。我怎樣才能得到這個號碼?像mystring.subinteger只能獲取數字,並不包含子字符串方法之後的任何空格? –

+0

'mystring = mystring.trim()'將刪除你的字符串周圍的空間 –

+0

看到我編輯的答案 –

0

試試這個:

mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862"; 
var str=mystring.substr(0,4); 
alert(str); 
0

您可以使用函數來獲取前4字符

mystring = "9862 ....... -pack size 1 - SST Unspun Label (Roll) CAT#: 9862" 

mystring = mystring.substr(0,4); 

mystring = mystring.substring(0,4); 

都將正常工作...嘗試它

1
var extractInts = function(str) { 
    r = []; 
    for (var i = 1, l = str.length; i <= l; ++i) { 
     if (!isNaN(parseInt(str.substring(i-1, i),0))) { 
      str = str.substring(i-1); 
      r.push(parseInt(str, 0)); 
      str = str.substring(parseInt(str,0).toString().length); 
      i = 1; 
     } 
    } 
    return r; 
}; 

var str = "Hi, here is an int 1, and another 3, and finally 37"; 
var i_array = extractInts(str); 
console.log("extractInts: " + i_array[0]); //Prints 1 

上述功能將每個整數提取到的陣列,因此可以只提取第一個。

相關問題