【问题标题】:Regex in javascript with latin and turkish characters带有拉丁语和土耳其语字符的javascript中的正则表达式
【发布时间】:2013-04-08 02:06:53
【问题描述】:

我正在尝试替换所有非拉丁语/土耳其语字符,但出了点问题,我找不到。

例如:

var texto = '*istediğiniz*';
if (texto.match(/[^a-zA-Z0-9şŞıİçÇöÖüÜĞğ\- ]/g)){

    //only letters, numbers and turkish letters are allowed
    texto = texto.replace(/[^a-zA-Z0-9şŞıİçÇöÖüÜĞğ\- ]/g, ''); 
}

console.log(texto);

结果我的话输出错误:istediiniz。输出应该是istediğiniz

【问题讨论】:

  • 你为什么要把它放在if中?
  • ^ 对...replace 不会替换,如果没有可替换的...
  • 我得到了你想要的输出
  • 天哪,这越来越有存在感了。我应该删除if吗?
  • 是的,还要确保正确的编码:stackoverflow.com/a/10924295/1291428

标签: javascript regex replace turkish


【解决方案1】:

将您的 javascript 文件编码为 utf-8 并将您的元标记更新为:

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

【讨论】:

  • 等一下。我会测试
  • 更好地使用来自 html5 的简短描述 &lt;meta charset="utf-8"&gt; 即使对于 IE6 也有效
猜你喜欢
  • 1970-01-01
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 2014-06-28
  • 1970-01-01
  • 2014-07-25
相关资源
最近更新 更多