第一个问题:我想替换除字母数字和特殊字母以外的所有字符。例如,somestringğüş iöç123456!@#$%^&*()_+
到 somestringğüş iöç123456
第二:例如,some---example--long-string
到 some-example-long-string
我不太了解正则表达式,所以我需要 2 个简单的正则表达式字符串。谢谢
最佳答案
首先。它匹配任何不是字母数字、空格或非 ascii 的字符,并将它们替换为空字符串。
str.replace(/[^a-z0-9\s\x80-\uFFFF]+/gi, '');
没有我可以使用的 unicode 类,所以我要么包含所有 unicode 字符,要么列出不是字母、数字或空格的字符。
其次。它匹配两个或多个破折号的任意序列,并将它们替换为单个破折号。
str.replace(/-{2,}/g, '-');
关于javascript - RegExp 字母数字字符串 + 特殊字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3202576/