我试图使用这段代码用_替换空格,它适用于字符串中的第一个空格,但所有其他空格的实例保持不变。有人知道为什么吗?

function updateKey()
{
    var key=$("#title").val();
    key=key.replace(" ","_");
    $("#url_key").val(key);
}

当前回答

试试这个:

key=key.replace(/ /g,"_");

它会做全局查找/替换

javascript替换

其他回答

用下划线替换空格

var str = 'How are you';
var replaced = str.split(' ').join('_');

输出:How_are_you

只需使用replace: var text = 'Hello World'; New_text = text。Replace (' ', '_'); console.log (new_text);

你可以试试这个

 var str = 'hello     world  !!';
 str = str.replace(/\s+/g, '-');

它甚至会用单个的“-”替换多个空格。

下面来回答Prasanna的问题:

如何替换多个空格 Javascript中的单一空格?

您可以使用相同的函数替换为不同的正则表达式。空格的表达式是\s,而“1次或多次”的表达式是+加号,所以你只需将Adam的答案替换为以下内容:

key=key.replace(/\s+/g,"_");

const updateKey = key => console.log(key。分割(' '). join(“_”)); updateKey(“Hello World”);