删除非字母数字字符
以下是/正确的正则表达式,用于从输入字符串中去除非字母数字字符:
input.replace(/W/g, '')
请注意,
W这等效于
[^0-9a-zA-Z_]-它包括下划线字符。要删除下划线,请使用例如:
input.replace(/[^0-9a-z]/gi, '')
输入格式错误
由于测试字符串包含各种转义的字符(不是字母数字),因此它将删除它们。
如果要按字面意义进行处理,则字符串中的反斜杠需要转义:
"\test\red\bob\fred\new".replace(/W/g, '')"testredbobfrednew" // output
处理格式错误的字符串
如果您无法正确转义输入字符串(为什么不转义),或者它来自某种不受信任/配置错误的源,则可以执行以下操作:
JSON.stringify("\testredbobfrednew").replace(/W/g, '')"testredbobfrednew" // output请注意,字符串的json表示形式包括引号:
JSON.stringify("\testredbobfrednew")""\testredbobfrednew""但是它们也会被替换的正则表达式删除。



