javascript – 从字符串中删除空格,点和特殊字符,并在jQuery中用连字符替换

我有一个字符串,其中可能有特殊字符,我必须用连字符替换

var str="123.This is,, :ravi"

上面的字符串应该像这样转换

var newstr="123-This-is-ravi";

我一直在尝试这个

function remove(str){ str.replace(/\./g, "-"); }  //replaces only dots
function remove(str){ str.replace(/ /g, "-"); }   //replaces only spaces

任何人都可以帮我这样做吗?我需要用连字符替换特殊字符.

最佳答案
should do the regular expression all at once

"123.This is,, :ravi".replace(/[\. ,:-]+/g, "-")

工作范例:

$('p').html("123.This is,, :ravi".replace(/[\. ,:-]+/g, "-"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p></p>

这样,连字符就不会翻倍.

需要注意的一点是,如果值以句点(点)或任何空格结束,则它将以连字符结束.

转载注明原文:javascript – 从字符串中删除空格,点和特殊字符,并在jQuery中用连字符替换 - 代码日志