2016-11-04 54 views
0

如何从字符串中删除“/”以外的特殊字符?我应该使用什么正则表达式?如何删除“/”以外的特殊字符?

"/[^a-z0-9_\s-]/" 

即时通讯使用此正则表达式。它不工作。

+1

只需添加'\ /'的否定类'内[^ A-Z0-9 _ \ S - \ /]' –

回答

6

当在/.../正则表达式中使用/时,需要使用反斜杠进行转义。或者,您可以使用Regex构造函数来避免必须转义//[^\/]/new Regex("[^/]")都将匹配除/之外的任何字符。

要删除任何特殊字符,但/,它取决于你所说的特殊字符,但我会使用/[^a-zA-Z0-9\/]/
如果你不介意下划线,你可以使用/[^\w\/]/

它仅匹配一个字符,因此您可能会想要使用g全局标志:/[^a-zA-Z0-9\/]/g

0

试试这个,以及

input.replace(/\W/g, function(match){ return (match == "/" ? match : "") }); 

function replaceExceptChar(input, specialChar) 
 
{ 
 
    return input.replace(/\W/g, function(match){ return (match == specialChar ? match : "") }); 
 
} 
 

 
console.log(replaceExceptChar("asdasd2323(*(&*/", "/"));