删除特殊字符Javascript

时间:2018-11-30 04:22:34

标签: javascript regex

当前,我在JavaScript中尝试使用此表达式/ [^ \ w \ s] / gi。但是,它不会删除_下划线。如何删除下划线?我要删除这些特殊字符 !“#$%&'()* +,-。/ :; <=>?@ [] ^ _`{|}〜

    var text = reasonTxt.GetText(); var textFull = text.replace(/[^\w\s]/gi, ''); 

3 个答案:

答案 0 :(得分:1)

_被认为是文字字符。 因此您也需要对此取反。

var text = reasonTxt.GetText(); var textFull = text.replace(/[^\w\s]|_/gi, '');

Demo

let str = "vivek #$ asbc &12341236~!@#$%^&   _    !#$%&'()*+,-./:;<=>?@[]^_`{|}~+_";



console.log(str.replace(/[^\w\s]|_/gi, ""));

答案 1 :(得分:0)

如果您只需要字母和数字

var text = reasonTxt.GetText(); var textFull = text.replace(/[^A-Za-z0-9]+/g, '');

如果您只想要字母

var text = reasonTxt.GetText(); var textFull = text.replace(/[^A-Za-z]+/g, '');

答案 2 :(得分:0)

您的正则表达式几乎正确,但是由于_已经包含在\w中(\w[a-zA-Z0-9_]相同),因此您必须明确地检查{{1 }},并为此修改您的正则表达式,

_

将代码更改为此,

[^\w\s]|_

Demo