Javascript .replace();多重置换

Javascript .replace();多重置换,javascript,replace,Javascript,Replace,所以我尝试替换字符串中的任何非字母数字字符,包括空格。我已经找到了一个有效的解决方案,但感觉很粗糙。我不需要两个单独的replace函数来实现这一点,但我不知道如何正确地合并它们。我在网上找到的所有文档都没有这个地址 str.replace(/\s/g,"").replace(/[^0-9a-zA-Z]/g,"").toLowerCase(); 此外,^字符是否在此代码中不表示这一点?我发现这是反复删除非字母数字字符的正确方法,但没有人能完全解释为什么这样做有效。我猜“^”意味着忽略正在进行的

所以我尝试替换字符串中的任何非字母数字字符,包括空格。我已经找到了一个有效的解决方案,但感觉很粗糙。我不需要两个单独的replace函数来实现这一点,但我不知道如何正确地合并它们。我在网上找到的所有文档都没有这个地址

str.replace(/\s/g,"").replace(/[^0-9a-zA-Z]/g,"").toLowerCase();

此外,^字符是否在此代码中不表示这一点?我发现这是反复删除非字母数字字符的正确方法,但没有人能完全解释为什么这样做有效。我猜“^”意味着忽略正在进行的字符,但这只是一个猜测

您可以省略第一个替换,并从字符列表中删除允许的空白以保留此字符

控制台。记录“fßOä”。替换为/[^0-9a-zA-Z]/g,.toLowerCase 您可以使用RegExp/[^a-z\d]+|[\s]+/ig替换所有非单词或数字字符的字符

这一个应该有效:str.replace/\W/g,尽管它也会保留u字符

参考:


希望这有帮助

是,方括号内的“^”表示“否”。与行首的“^”不同,它的意思是行首:-但是也许你想要搜索的是正则表达式教程?这就是我想要的。我只需要把我想换的东西分开|