使用javascript删除除字母数字和空格以外的所有字符
我喜欢“”提供的解决方案,但在保留空间的同时,我如何做到这一点 我需要在清理完字符串后根据空格对其进行标记使用javascript删除除字母数字和空格以外的所有字符,javascript,regex,Javascript,Regex,我喜欢“”提供的解决方案,但在保留空间的同时,我如何做到这一点 我需要在清理完字符串后根据空格对其进行标记 input.replace(/[^\w\s]/gi, '') 不知羞耻地从另一个答案中偷走了^在character类中表示“not”。因此这是“not”\w(相当于\w)和not\s,即空格字符(空格、制表符等)。如果需要,您可以直接使用文本。我知道这是一个旧线程,但它非常流行,出现在Google搜索的顶部。因此,作为替代方案,3limin4t0r接受的答案和评论启发我: .replac
input.replace(/[^\w\s]/gi, '')
不知羞耻地从另一个答案中偷走了
^
在character类中表示“not”。因此这是“not”\w
(相当于\w
)和not\s
,即空格字符(空格、制表符等)。如果需要,您可以直接使用文本
。我知道这是一个旧线程,但它非常流行,出现在Google搜索的顶部。因此,作为替代方案,3limin4t0r接受的答案和评论启发我:
.replace(/\W+/g, " ")
伊姆霍
const input=document.querySelector(“输入”);
const button=document.querySelector(“按钮”);
常量输出=document.querySelector(“输出”);
按钮。addEventListener(“单击”,()=>{
output.textContent=input.value.replace(/\W+/g,“”);
})
代替
除特殊字符(如斜引号“)外,其他字符均有效“。你是什么意思?你想包括这些字符还是排除它们?不完全。普通的ascii引号可以工作,但当从PDF复制粘贴文本时,角引号不会被删除,而常规引号可以。我真的不知道该说什么。。我无法重现这个问题。[^\w]
=\w
和[^\s]
=\S
因此正则表达式可以减少为/[\W\S]/g
,不需要忽略大小写修饰符,因为\W
考虑了这些因素。