2016-05-14 2 views

Antwort

5

Verwendung negated character set:

Wenn Sie in Ordnung sind den Unterstrich zu halten, können Sie verwenden:

str.replace(/[^\w]/g, "-") // \w is the same as [A-Za-z0-9_] 

Wenn Sie das auch ersetzen möchten, dann können Sie verwenden:

str.replace(/[^A-Za-z0-9]/g, "-") 

Bearbeiten: Wie von @ JamesBuck erwähnt, gibt es tatsächlich negated shorthands: [^\w] ist das gleiche wie \W, also wenn Sie den Unterstrich nicht ersetzen müssen, Sie verwenden können, was zu:

str.replace(/\W/g, "-") 
+0

Oder einfach nur '\ W' für das negiert' \ W' –

+0

@JamesBuck Guter Fang. – timolawl

+0

Perfekt. Ich brauchte die zweite, um die Unterstriche zu ersetzen. Vielen Dank – tata

0
var str = "djdkasfh [email protected]@FA"; 
str.replace(/[^a-z0-9]+/gi, '-'); 

Ausgänge djdkasfh-da-S-FA.

+0

Dank vieler :) – tata