我的字符串进入我的javascript变化可以..
Foo Bar
(双倍行距)
要么
Foo Bar
如果它有一个空格,我用它来解决这个问题,用下划线替换
var string = 'John Doe';
var fixedString = string.replace(/\s+/, "_");
$('#display').text(fixedString);
但是如果它也是双重空间,我希望能够做到这一点。
因此Foo Bar
将固定为Foo__Bar
答案 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, "_");