Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果是双空格或单空格,则jQuery替换字符串_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 如果是双空格或单空格,则jQuery替换字符串

Javascript 如果是双空格或单空格,则jQuery替换字符串,javascript,jquery,regex,Javascript,Jquery,Regex,我的javascript中有字符串,其变体可以是。。 Foo-Bar (双空格) 或 Foo-Bar 我目前正在解决这个问题,如果它只有一个空格,则替换为下划线 var string = 'John Doe'; var fixedString = string.replace(/\s+/, "_"); $('#display').text(fixedString); 但是如果它是一个双空间,我也希望能够做到这一点 因此,Foo-Bar将被固定为Foo-Bar只需使用slug实用程序功能即可

我的javascript中有字符串,其变体可以是。。
Foo-Bar
(双空格) 或
Foo-Bar

我目前正在解决这个问题,如果它只有一个空格,则替换为下划线

var string = 'John Doe';
var fixedString = string.replace(/\s+/, "_");

$('#display').text(fixedString);
但是如果它是一个双空间,我也希望能够做到这一点


因此,
Foo-Bar
将被固定为
Foo-Bar

只需使用slug实用程序功能即可

function convertToSlug(str) {
    return str.replace(/ /g,'_');
}
下面是演示

var text='Foo-Bar,单个空格,多个空格'
//从https://gist.github.com/vko-online/4c7699a78e48963310ae
函数转换器插入(str){
return str.replace(//g,'''u');
}
var$orig=document.querySelector(“#orig”),
$slug=document.querySelector(“#slug”);
$orig.textContent=文本//尽管文本有2个空格,h1标记删除1个
$slug.textContent=convertToSlug(文本)

使用这个

yourstring.replace(/[']+/g,”)

或者,如果您想用一个
替换每个空格,请使用此空格

string.replace(/[' ']/g, "_");

string.replace(/[]]/g,'.'''.'替换)
yourstring.replace(/[']+/g,”)
但是用OP的case替换(/[^\w-]+/g,”)
的目的是什么呢?我需要能够用if替换一个空格或两个空格。@A.Wolff是的,它只是删除了
-
破折号,这是作者的意图,刚刚删除it@Kieron606它适用于1、2或无限空间,
Foo-Bar
示例中有2个空格
string.replace(/[' ']/g, "_");