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