我正在尝试使用此代码用_替换空格,它适用于字符串中的第一个空格,但所有其他空格实例均保持不变。有人知道为什么吗?function updateKey(){ var key=$("#title").val(); key=key.replace(" ","_"); $("#url_key").val(key);}
3 回答

蓝山帝景
TA贡献1843条经验 获得超7个赞
尝试 .replace(/ /g,"_");
编辑:或者.split(' ').join('_')如果您对RE厌恶
如果您要使用静态搜索和静态替换来搜索和替换字符串,则使用.split(“ match”)。join(“ replace”)来执行操作会更快,这似乎有点违反直觉,但可以成功进行在大多数现代浏览器中都是这样。(在下一版本的Firefox中,将进行一些更改以显着提高.replace(/ match / g,“ replace”)的性能-因此,前面的声明将不再适用。)

跃然一笑
TA贡献1826条经验 获得超6个赞
如何在Javascript中用单个空格替换多个空格?
您将使用相同的函数replace使用不同的正则表达式。空格\s的表达式为,而“ 1次或多次”的表达式为+加号,因此您只需将亚当的答案替换为以下内容:
key=key.replace(/\s+/g,"_");
添加回答
举报
0/150
提交
取消