带有拉丁语和土耳其语字符的javascript中的正则表达式

man*_*nix 5 javascript regex turkish replace

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

例如:

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);
Run Code Online (Sandbox Code Playgroud)

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

car*_*ina 3

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

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

  • 最好使用 html5 `&lt;meta charset="utf-8"&gt;`​​ 中的简短描述,这甚至适用于 IE6 (3认同)