繁体   English   中英

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

[英]Regex remove all special characters except numbers?

我想从字符串中删除所有特殊字符(数字除外)。 我已经能够做到这一点

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

但似乎它正在删除第一个数字并留下所有其他数字。

例如:

name = "collection1234"; //=> collection234

name = "1234567"; //=> 234567

使用全局标志:

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, "");

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

删除符号使用标签 [ ]

步骤:1

[]

第 2 步:放置您要删除的符号 eg:@ like [@]

[@]

第 3 步:

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

就是这样

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

额外提示

删除空格(在方括号中留一个空格,如 []=>[ ])

[@ ]

它删除所有内容(使用除外)

[^place u dont want to remove]

例如:我删除除字母表之外的所有内容(小写和大写)

[^a-zA-Z ]

 var name="ggggg33333@#$%^&**I(((**gg@fffff" var result = name.replace(/[^a-zA-Z]/g, ""); console .log(result)

这也应该有效

text = '车? 又大又*红!

newtext = re.sub( '[^a-z0-9]', ' ', text)

打印(新文本)

这辆车又大又红

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM