Tengo una cadena en javascript como '# box2' y solo quiero el '2' de ella.
Intentó:
var thestring = $(this).attr('href');
var thenum = thestring.replace( /(^.+)(\w\d+\w)(.+$)/i,'$2');
alert(thenum);
Todavía devuelve # box2 en la alerta, ¿cómo puedo hacer que funcione?
Necesita acomodar cualquier número de longitud adjunto al final.
javascript
string
numbers
usuario1022585
fuente
fuente
Respuestas:
Para este ejemplo específico,
en el caso general:
Dado que esta respuesta ganó popularidad por alguna razón, aquí hay una ventaja: generador de expresiones regulares.
fuente
"#box2_col3".replace( /^\D+/g, '')
debería haber mostrado2
, no2_col3
.#box2_col3
en la pregunta.#box2_col3
. Pero vea el OP regex utilizado (\w)(.+$)
) que indica claramente que hay otros caracteres después del número.replace
trabajar con númerostheString.replace(/^.*\D+/g, '');
iniciales usando:, pero la solución de shiplu.mokadd.im es mejor.Deberías probar lo siguiente:
resultado
fuente
parseInt(txt.match(/\d/g).join(''), 10)
" $ 20.0 ".match(/\d/g).join('')
=> "200" (solo diciendo)Creo que esta expresión regular servirá a su propósito:
¿Dónde
txt
está tu cuerda?Básicamente arranca cualquier cosa que no sea un dígito.
Creo que puedes lograr lo mismo usando esto también:
fuente
/[^0-9]/g
+1 para legibilidad. También se usa con la mayoría de las respuestas aquí: stackoverflow.com/q/1862130/1066234Pruebe lo siguiente:
string.replace(/[^0-9]/g, '');
Esto eliminará todos los caracteres que no sean dígitos, dejando solo dígitos en la cadenafuente
/[^0-9]/g
puede reemplazarse por/[^\d]/g
.Usando la función de coincidencia.
jsfiddle
fuente
Intenté todas las combinaciones citadas anteriormente con este Código y lo hice funcionar, fue el único que funcionó en esa cadena ->
(12) 3456-7890
Resultado:
"1234567890"
Obs: sé que una cadena como esa no estará en el atributo, pero lo que sea, la solución es mejor, porque es más completa.
fuente
str.match(/\d+/g).map(Number)
que devolverá una matrizY este es un fragmento que extrae precios con moneda y formato:
fuente
puede usar un excelente método parseInt
convertirá los dígitos iniciales a un número
fuente
Para una cadena como
#box2
, esto debería funcionar:jsFiddle:
fuente
Puedes usar expresiones regulares.
Eso alertará 2.
fuente
Con Expresiones regulares , cómo obtener números de una cadena, por ejemplo:
el resultado de
myString
es "24
"Puede ver un ejemplo de este código en ejecución aquí: http://ideone.com/iOCf5G
fuente
Puede usar la biblioteca de cadenas de subrayado de la siguiente manera
el resultado será: 1
Ver: https://github.com/epeli/underscore.string
DEMO:
http://jsfiddle.net/abdennour/Vyqtt/
Código HTML:
Código JS:
si tiene el sufijo siguiente:
Puedes usar la siguiente demostración:
http://jsfiddle.net/abdennour/Vyqtt/1/
fuente
Aquí hay un solt. que verifica si no hay datos
fuente
Use este código de una línea para obtener el primer número en una cadena sin obtener errores:
fuente
por favor verifique abajo javaScripts, allí solo puede obtener el número
salida:
1234567789
fuente
Puede extraer números de una cadena usando una expresión regex:
salida: 25933473
fuente
fuente
Esta respuesta cubrirá la mayor parte del escenario. Puedo superar esta situación cuando el usuario intenta copiar y pegar el número de teléfono
Explicación:
join convertirá y concatenará esos datos de matriz en una sola cadena
fuente
}
Puede hacerlo así y luego llamar a la función donde lo necesite, con el parámetro.
fuente
Puedes hacer una función como esta
fuente