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

strprobablemente no sea una cadenaregexcadena 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
trimfunción en realidad no le está pasando una cadena.Para solucionar esto, puede hacer
struna 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'); =====> ERRORnum=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
replacemé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