Estou usando o código abaixo para tentar aparar a string em Javascript, mas estou recebendo o erro mencionado no título:
function trim(str) {
return str.replace(/^\s+|\s+$/g,'');
}
Editar:
Corrigi o problema .... desculpe, eu deveria ter colocado o código em como eu também estava chamando ... percebi que acidentalmente estava passando o objeto do próprio campo do formulário em vez de seu valor.
javascript
Brett
fonte
fonte
str
provavelmente não é uma stringregex
própria string, o que pode não ser bom de qualquer maneira.str.toString().replace(/^\s+|\s+$/g,'')
vez disso.Respostas:
Meu palpite é que o código que está chamando sua
trim
função não está realmente passando uma string para ele.Para consertar isso, você pode criar
str
uma string, como esta:str.toString().replace(...)
... como indicado acima, como sempre .
fonte
str.toString()
corrigiu meu problema.str.toString()
é apenas a solução se você estiver passando um valor correto que pode ser convertido com êxito em uma string; no meu caso, estava passando completamente a coisa errada. :)problemas prováveis:
num=35; num.replace(3,'three'); =====> ERROR
num=35; num.toString().replace(3,'three'); =====> CORRECT !!!!!!
num='35'; num.replace(3,'three'); =====> CORRECT !!!!!!
fonte
Isso deve funcionar.
Se você deseja apenas aparar a corda. Você pode simplesmente usar "str.trim ()"
fonte
Você não está passando uma string, caso contrário, ela teria um
replace
método. Espero que você não tenha digitado emfunction trim(str) { return var.replace(blah); }
vez dereturn str.replace
.fonte
Você provavelmente deve fazer algumas validações antes de realmente executar sua função:
fonte
Você chamou sua função corretamente? Ou seja. a coisa que você passa como parâmetro é realmente uma string?
Caso contrário, não vejo problema com o seu código - o exemplo abaixo funciona conforme o esperado
No entanto, se você chamar seu functoin com algo não-string, você realmente obterá o erro acima:
fonte
No caso de um número, você pode tentar converter em string:
fonte
Você deve usar o método toString () do script java para a conversão em string antes porque o método replace é uma função de string.
fonte
Corrigi o problema .... desculpe, eu deveria ter colocado o código em como eu também estava chamando ... percebi que acidentalmente estava passando o objeto do próprio campo do formulário em vez de seu valor.
Obrigado por suas respostas de qualquer maneira. :)
fonte
verifique se você está passando a string para o método "replace". Teve o mesmo problema e resolveu-o passando a corda. Você também pode fazer isso usando o método toString ().
fonte