在搜索字段中,应该只允许常规字符和德语变异元音,如ä,ö,ü,Ä,Ö,Ü和ß。
我的正则表达式如下:
/(<([^>]+)>)|[^a-zA-Z0-9äöüÄÖÜß\s]/ig
替换:
phrase.replace(regex, "")
在替换之前:
Ärzte
替换后:
rzte
不幸的是,变异的元音被替换掉了。任何保留这些角色的建议都会受到赞赏。
提前致谢。
答案 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