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

Quiero obtener los primeros 4 números en esta cadena "9862". ¿Cómo obtengo la primera secuencia de números en esta cadena? Y almacenarlo en una variable anothoer?Javascript: ¿cómo obtener los primeros 4 números en una cadena?

Parece que Javascript no reconoce esta variable. No sé por qué. si yo:

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

¿Puede haber algo erróneo con el texto que estoy tratando de almacenar en la variable 'mystring'?

+0

usa la expresión regular – Quincy

+0

sí obteniendo los números con expresiones regulares desde el comienzo de mystring.match (/^[0-9] + /), ¿estás seguro de que la posición del número no cambia? –

Respuesta

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

mystring = mystring.substring(0, 4); 

alert(mystring.trim()); 
+0

Gracias, pero si solo hay 3 números. Estoy diciendo que 9862 es común, pero ocasionalmente obtendré por ejemplo '956' un número de 3 dígitos, la subcadena toma el espacio que queda después del número. ¿Cómo solo obtengo el número? ¿Te gusta mystring.subinteger para obtener números solo y no incluir ningún espacio después como con el método de subcadena? –

+0

'mystring = mystring.trim()' eliminará el espacio alrededor de su cadena –

+0

ver mi respuesta editada –

0

Prueba esto:

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

que puede utilizar para funcionar a conseguir el primer Char 4

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

mystring = mystring.substr(0,4); 

o

mystring = mystring.substring(0,4); 

tanto no tendrán ningún problema ... tratar es

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 función anterior se extraer cada número entero en una matriz, y por lo tanto sólo puede extraer el primero.

Cuestiones relacionadas