Javascript 正则表达式替换必须保留德语变异元音

Javascript regex replace has to keep german mutated vowels

在搜索字段中,应只允许使用常规字符和德语变异元音,如 ä、ö、ü、Ä、Ö、Ü 和 ß。

我的正则表达式看起来像:

/(<([^>]+)>)|[^a-zA-Z0-9äöüÄÖÜß\s]/ig

替换:

phrase.replace(regex, "")

替换前:

Ärzte

替换后:

rzte

不幸的是,突变的元音被替换删除了。任何保留这些字符的建议都将受到赞赏。

提前致谢。

问题很可能是字符集未设置为 UTF-8。您应该修复您的字符集,但更好的做法可能是对该正则表达式使用十六进制代码而不是直接使用该字符,然后在其中留下一些注释以便您记住十六进制代码的用途。

检查这是否有效

phrase.replace(/(<([^>]+)>)|[^a-z0-9\xE4\xF6\xFC\xC4\xD6\xDC\xDF\s]/ig, "\n")

你可以从这里找到一些其他的十六进制转义 http://www.javascripter.net/faq/accentedcharacters.htm