var.replace no es una función
Estoy usando el siguiente código para intentar recortar la cadena en Javascript pero aparece el error mencionado en el título:
function trim(str) {
return str.replace(/^\s+|\s+$/g,'');
}
Editar:
Solucioné el problema... lo siento, debería haber puesto el código sobre cómo lo estaba llamando también... me di cuenta de que accidentalmente estaba pasando el objeto del campo del formulario en lugar de su valor.
Supongo que el código que llama a su trim
función en realidad no le está pasando una cadena.
Para solucionar este problema, puedes hacer str
una cadena como esta: str.toString().replace(...)
...como Alper señala a continuación.
problemas probables:
- la variable es NÚMERO (en lugar de cadena);
num=35; num.replace(3,'three'); =====> ERROR
num=35; num.toString().replace(3,'three'); =====> CORRECT !!!!!!
num='35'; num.replace(3,'three'); =====> CORRECT !!!!!!
- la variable es un objeto (en lugar de una cadena);
- la variable no está definida;
Reemplazar no reemplazaría los números. Reemplaza únicamente cuerdas.
Esto debería funcionar.
function trim(str) {
return str.toString().replace(/^\s+|\s+$/g,'');
}
Si solo quieres recortar la cuerda. Simplemente puedes usar "str.trim()"
No estás pasando una cadena, de lo contrario tendría un replace
método. Espero que no hayas escrito function trim(str) { return var.replace(blah); }
en lugar de return str.replace
.