2011-06-14 27 views

Respuesta

59

Esta expresión regular coincide con los números al final de la cadena.

var matches = str.match(/\d+$/); 

Se devolverá un Array con su 0 ésimo elemento del partido, si tiene éxito. De lo contrario, devolverá null.

Antes de acceder al miembro 0, asegúrese de que la coincidencia se haya realizado.

if (matches) { 
    number = matches[0]; 
} 

jsFiddle.

Si debe tenerlo como Number, puede usar una función para convertirlo, como parseInt().

number = parseInt(number, 10); 
+1

Consejo: Es más eficaz utilizar '[0-9]' de lo que es el uso de '\ d'. Ver https://stackoverflow.com/questions/16621738 – Marathon55

+0

@ Marathon55 Muy bien podría ser el caso, pero igual usaría '\ d' (a menos que se convirtiera en un cuello de botella de rendimiento) – alex

4

RegEx:

var str = "example12"; 
parseInt(str.match(/\d+$/)[0], 10); 

manipulación de cadenas:

var str = "example12", 
    prefix = "example"; 
parseInt(str.substring(prefix.length), 10); 
Cuestiones relacionadas