【问题标题】:Javascript replace diacritic characters in iso-8859-1Javascript 替换 iso-8859-1 中的变音符号
【发布时间】:2012-10-01 02:11:10
【问题描述】:

我正在尝试用普通的 javascript 替换一些变音符号(重音)字符。但我不知道该怎么做。我的问题是我们使用字符集 iso-8859-1。如果我们使用 utf-8,它会更容易。我正在尝试制作类似this script here 的东西(适用于UTF-8 编码)。

谁能帮我解决这个问题?如果我可以将 从“é”替换为“e” 的语法,那么剩下的就可以了。我用 \xE9 尝试了一些东西,但对正则表达式不太熟悉,我无法让它工作。

【问题讨论】:

  • 您到底想问什么? unicode 转义序列应该可以工作。还是其他问题的代码不起作用?
  • 正如我所写,我们使用字符集 iso-8859-1,但它不起作用。即使是简单的 .replace("é", "e") 也不起作用。
  • 如果您有不同的编码,请使用.replace("\u00E9", "e")。或者甚至更好地更改为准标准的 UTF-8。
  • 我非常乐意更改为 UTF-8,但遗憾的是我没有时间这样做。我在这里的合同只有几个星期。

标签: javascript diacritics iso-8859-1


【解决方案1】:

最后我找到了这个正则表达式语法:

        Recherche = Recherche.replace(/À|Á|Â|Ã|Ä|Å/g, "A")
                             .replace(/à|á|â|ã|ä|å/g, "a")
                             .replace(/Ò|Ó|Ô|Õ|Õ|Ö|Ø/g, "O")
                             .replace(/ò|ó|ô|õ|ö|ø/g, "o")
                             .replace(/È|É|Ê|Ë/g, "E")
                             .replace(/è|é|ê|ë/g, "e")
                             .replace(/Ç|ç/g, "c")
                             .replace(/Ì|Í|Î|Ï/g, "I")
                             .replace(/ì|í|î|ï/g, "i")
                             .replace(/Ù|Ú|Û|Ü/g, "U")
                             .replace(/ù|ú|û|ü/g, "u");

【讨论】:

  • 可以将Recherche = Recherche.replace(...); Recherche = Recherche.replace(...)替换为Recherche = Recherche.replace(...).replace(...),缩短代码,避免大量循环(不需要每次都将值复制回Recherche再读一遍)。跨度>
猜你喜欢
  • 2019-09-28
  • 2015-04-20
  • 2010-10-26
  • 2011-08-26
  • 1970-01-01
  • 2013-01-19
  • 2018-02-21
  • 2015-12-07
  • 2011-05-15
相关资源
最近更新 更多