Javascript 正则表达式是否删除除数字以外的所有特殊字符?

Javascript 正则表达式是否删除除数字以外的所有特殊字符?,javascript,regex,Javascript,Regex,我想从字符串中删除所有特殊字符(数字除外)。我能走到这一步 var name = name.replace(/[^a-zA-Z ]/, ""); 但它似乎正在删除第一个数字,而留下所有其他数字 例如: name = "collection1234"; //=> collection234 或 使用全局标志: var name = name.replace(/[^a-zA-Z ]/g, ""); ^ 如果不想删除数

我想从字符串中删除所有特殊字符(数字除外)。我能走到这一步

var name = name.replace(/[^a-zA-Z ]/, "");
但它似乎正在删除第一个数字,而留下所有其他数字

例如:

name = "collection1234"; //=> collection234

使用全局标志:

var name = name.replace(/[^a-zA-Z ]/g, "");
                                    ^
如果不想删除数字,请将其添加到类中:

var name = name.replace(/[^a-zA-Z0-9 ]/g, "");

要删除特殊字符,请尝试

var name = name.replace(/[!@#$%^&*]/g, "");

如果您不介意将下划线作为允许的字符,可以尝试以下操作:

result = subject.replace(/\W+/g, "");
如果也必须排除下划线,则

result = subject.replace(/[^A-Z0-9]+/ig, "");

(注意不区分大小写的标志)

这也应该起作用

text='汽车?它又大又红

newtext=re.sub(“[^a-z0-9]”,“,文本)

打印(新文本)


这辆车又大又红

要去掉符号,请使用标签[]

步骤:1

[]
第二步:放置你想要移除的符号,例如:@like[@]

[@]
步骤3:

var name = name.replace(/[@]/g, "");
就这样

var name=”ggggggg@fffff"
var result=name.replace(/[@]/g,“”);

console.log(result)
我想我问错了,我想在字符串中保留所有数字,但只保留特殊字符,如!@#$%^&*(因此,
collection#24将返回collection24
@EHerman忘记您要删除的字符。“特殊字符”非常不精确。您要保留哪些字符?[^\w#]应该与[^a-zA-Z0-9]的操作大致相同。)@EHerman我现在有点不知所措了。这对你有用吗?Jonny,是的,这是一个选项。+1-答案。尽管如此,
+
修饰符更有效。这不会删除空格!!所有字符都有自己的特殊方式,这是妈妈一直告诉我的。“特殊字符”对你来说意味着什么?@sln,你是什么意思?
var name = name.replace(/[@]/g, "");