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

Voglio ottenere i primi 4 numeri in questa stringa "9862". Come ottengo la prima sequenza di numeri in questa stringa. E lo immagazzini in una variabile di un altro?Javascript: come ottenere i primi 4 numeri in una stringa?

Javascript sembra non riconoscere questa variabile. Non so perché. se io:

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

Potrebbe esserci qualcosa di sbagliato con il testo che sto cercando di memorizzare nella variabile 'MyString'?

+0

utilizza l'espressione regolare – Quincy

+0

sì, ottenendo i numeri con regex dall'inizio mystring.match (/^[0-9] + /), sei sicuro che la posizione del numero non cambi? –

risposta

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

mystring = mystring.substring(0, 4); 

alert(mystring.trim()); 
+0

Grazie, ma se ci sono solo 3 numeri. Sto dicendo che 9862 è comune ma occasionalmente otterrò per esempio '956' un numero a 3 cifre, la sottostringa prende lo spazio rimasto dopo il numero. Come ottengo solo il numero? Come mystring.subinteger per ottenere solo i numeri e non includere spazi dopo come con il metodo substring? –

+0

'mystring = mystring.trim()' rimuoverà lo spazio intorno alla stringa –

+0

vedere la mia risposta modificata –

0

Prova questo:

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

È possibile utilizzare la funzione per ottenere il primo 4 caratteri

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

mystring = mystring.substr(0,4); 

o

mystring = mystring.substring(0,4); 

sia funzionerà benissimo ... provare it

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 

La funzione sopra estrarrà ogni intero in una matrice, e quindi si può semplicemente estrarre la prima.

Problemi correlati