9

特殊文字が含まれている可能性のある文字列があり、ハイフンに置き換える必要があります

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

これを行うのを手伝ってくれる人はいますか?特殊文字をハイフンに置き換える必要があります。

4

2 に答える 2

24

正規表現を一度に実行する必要があります。

"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>

そうすれば、ハイフンで二重になりません。

注意すべきことの 1 つは、値がピリオド (ドット) または空白で終わる場合、ハイフンで終わることです。

于 2013-04-23T05:33:55.497 に答える