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

时间:2016-02-29 08:32:42

标签: javascript regex mutated

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

我的正则表达式如下:

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

替换:

phrase.replace(regex, "")

在替换之前:

Ärzte

替换后:

rzte

不幸的是,变异的元音被替换掉了。任何保留这些角色的建议都会受到赞赏。

提前致谢。

1 个答案:

答案 0 :(得分:2)

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

检查是否有效

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

您可以在此处找到其他一些十六进制转义http://www.javascripter.net/faq/accentedcharacters.htm