var.replace 不是一个函数可能的问题:

2022-08-30 01:35:12

我正在使用下面的代码来尝试在Javascript中修剪字符串,但是我得到了标题中提到的错误:

function trim(str) {
    return str.replace(/^\s+|\s+$/g,'');
}

编辑:

我修复了这个问题...对不起,我应该把代码放在我如何称呼它....意识到我不小心传递了表单字段本身的对象,而不是它的值。


答案 1

我的猜测是,调用函数的代码实际上并没有向它传递字符串。trim

要解决此问题,您可以创建一个字符串,如下所示:
...正如alper在下面指出的那样。strstr.toString().replace(...)


答案 2

可能的问题:

  • 变量是数字(而不是字符串);
    num=35; num.replace(3,'three'); =====> ERROR
    num=35; num.toString().replace(3,'three'); =====> CORRECT !!!!!!
    num='35'; num.replace(3,'three'); =====> CORRECT !!!!!!
  • 变量是对象(而不是字符串);
  • 变量未定义;