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

时间:2016-03-16 13:13:03

标签: javascript jquery regex

我的字符串进入我的javascript变化可以.. Foo Bar (双倍行距) 要么 Foo Bar

如果它有一个空格,我用它来解决这个问题,用下划线替换

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

$('#display').text(fixedString);

但是如果它也是双重空间,我希望能够做到这一点。

因此Foo Bar将固定为Foo__Bar

2 个答案:

答案 0 :(得分:3)

只需使用slug实用程序功能

function convertToSlug(str) {
    return str.replace(/ /g,'_');
}

下面的演示

var text = 'Foo  Bar,Single Space,Many        Spaces'

//from https://gist.github.com/vko-online/4c7699a78e48963310ae
function convertToSlug(str) {
    return str.replace(/ /g,'_');
}

var $orig = document.querySelector('#orig'),
    $slug = document.querySelector('#slug');

$orig.textContent = text; //although text has 2 spaces, h1 tag remove 1
$slug.textContent = convertToSlug(text);
<h1 id="orig"></h1>
<h1 id="slug"></h1>

答案 1 :(得分:0)

使用此

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

var string = 'John      Doe';
string1 = "John doe"


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

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

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