JavaScript替换函数
JavaScript Replace Function
我正在使用一个javascript函数,但我遇到了一个标题问题。我希望函数将"回车"替换为"#",所以我使用:coment = coment.replace(/''n/gi,"*#*");
,当注释有任何"回车"时,它工作得很好,但当注释没有任何"enter"或注释为空时,它停止工作并发送一个错误,说:
"NoneType"对象没有属性"replace"
我如何控制,如果它有任何"输入",它会替换,如果没有,就不会做任何
"coment"来自这个:
<textarea id="coment"></textarea>
谢谢!
语句
coment = coment.replace(/''n/gi,"*#*");
表示"用#(不区分大小写)替换字符串中反斜杠后面跟着字母n的所有部分。如果您的目标是替换换行符,则反斜杠太多:
coment = coment.replace(/'n/gi,"*#*");
不过,单凭这一点并不是问题所在。从错误消息中,听起来coment
有时不是字符串,因此没有replace
函数。可能是undefined
或null
。如果你知道它是undefined
、null
或字符串,你可以这样做:
if (coment) {
coment = coment.replace(/'n/gi,"*#*");
}
如果它可能是一个数字或其他什么,并且不管你总是希望最后有一个字符串,那么:
coment = (coment === undefined || coment === null)
? ""
: String(coment).replace(/'n/gi,"*#*");
(不要只做coment = coment ? ...
,因为如果coment
是数字0
,那就不会给你预期的结果。)
顺便说一句,由于一些浏览器使用'r'n
作为换行符,而另一些浏览器则使用'n
,因此在正则表达式中使用'r?'n
(或'r{0,1}'n
)可能比仅使用'n
更好。
问题取决于coment中的实际内容。如果coment中有一个DOM元素,那么您需要从输入字段中获取值,以便它有一个字符串:
coment.value = coment.value.replace(/'n/g,"*#*");
如果问题是coment有时为null或未定义,我建议先检查一下coment中是否有一个有效的字符串:
if (coment) {
coment = coment.replace(/'n/g,"*#*");
}
对于null或未定义的情况,您也可以像这样先决条件coment
:
coment = coment || "";
coment = coment.replace(/'n/g,"*#*");
您可能会注意到,我在replace函数中也更改了一些内容。如果您只是想替换换行符,则不需要在regex定义中使用双反斜杠,也没有理由在regex上使用"i"标志,因为模式中没有任何字母。
要具体了解这些应用程序中的哪一个,您需要向我们展示将值输入到coment中的代码,以便我们可以看到它实际包含的内容,或者您需要在调试器或console.log中检查coment以查看它包含的内容。
这听起来像"空白"注释不是字符串,而是类似于null
的内容,因此它没有replace
函数。
尝试
coment= (comment && coment.length>0)?coment.replace(/''n/gi,"*#*"):coment;
- 在javascript中将命名函数替换为匿名函数
- 我需要将一个参数从另一个任务传递给gullow任务,或者用runSequence调用的函数替换一个任务
- 原型回调函数替换'这'价值
- 使用替换函数替换 XML 标记不起作用
- Javascript 字符串使用 regExp 和 replacer 函数替换
- 将 onfocus 和 onblur 函数替换或添加到 jQuery 函数中的文本框
- 用返回函数替换 PHP 中的字符串
- 如何在 JavaScript 中用 DOM 操作函数替换元素内容
- 如何用自定义函数替换JavaScript原型
- 我如何在文本输入中禁用正常的输入时提交行为,并用我自己的函数替换它
- 用on函数替换live
- 用函数替换整个DIV
- 将jquery函数替换为var
- javascript函数替换不起作用,为什么
- 为什么地址栏中的文件名会被JavaScript函数替换
- 将ajax错误和成功函数替换为传递给父函数的替代函数
- Javascript直接确认()函数替换
- JQuery Ajax用JQuery函数替换项目
- 如何将所有live()函数替换为on()函数
- 如何用替换函数替换一个字符