Estoy usando el siguiente código para intentar recortar la cadena en Javascript, pero recibo el error mencionado en el título:
function trim(str) {
return str.replace(/^\s+|\s+$/g,'');
}
Editar:
Solucioné el problema ... perdón, debería haber puesto el código de cómo lo estaba llamando también ... me di cuenta de que accidentalmente estaba pasando el objeto del campo de formulario en lugar de su valor.
javascript
Brett
fuente
fuente
str
probablemente no sea una cadenaregex
cadena en sí, lo que de todos modos podría no ser bueno.str.toString().replace(/^\s+|\s+$/g,'')
lugar.Respuestas:
Supongo que el código que llama a su
trim
función en realidad no le está pasando una cadena.Para solucionar esto, puede hacer
str
una cadena, como esta:str.toString().replace(...)
... como se indica más abajo.
fuente
str.toString()
arreglaron mi problemastr.toString()
es solo la solución si está pasando un valor correcto que se puede convertir con éxito en una cadena; en mi caso, estaba pasando la cosa equivocada por completo. :)Problemas probables:
num=35; num.replace(3,'three'); =====> ERROR
num=35; num.toString().replace(3,'three'); =====> CORRECT !!!!!!
num='35'; num.replace(3,'three'); =====> CORRECT !!!!!!
fuente
Esto debería funcionar.
Si solo quieres recortar la cuerda. Simplemente puede usar "str.trim ()"
fuente
No está pasando una cadena de lo contrario tendría un
replace
método. Espero que no hayas escrito enfunction trim(str) { return var.replace(blah); }
lugar dereturn str.replace
.fuente
Probablemente debería hacer algunas validaciones antes de ejecutar realmente su función:
fuente
¿Llamaste a tu función correctamente? Es decir. ¿Lo que pasa como parámetro es realmente una cadena?
De lo contrario, no veo un problema con su código: el ejemplo a continuación funciona como se esperaba
Sin embargo, si llama a su functoin con algo que no es una cadena, obtendrá el error anterior:
fuente
En el caso de un número, puede intentar convertirlo en cadena:
fuente
Debe usar el método toString () del script java para la conversión en cadena antes porque el método de reemplazo es una función de cadena.
fuente
Solucioné el problema ... perdón, debería haber puesto el código de cómo lo estaba llamando también ... me di cuenta de que accidentalmente estaba pasando el objeto del campo de formulario en lugar de su valor.
Gracias por sus respuestas de todos modos. :)
fuente
asegúrese de pasar la cadena al método "reemplazar". Tuve el mismo problema y lo resolvió pasando una cadena. También puede hacerlo en cadena usando el método toString ().
fuente