2013-04-15 33 views
4

我试图替换所有非拉丁/土耳其语字符,但有些地方出错,我找不到它。JavaScript中的正则表达式用拉丁和土耳其字符

例如:

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

+1

干嘛还要把这个在'if'?如果没有什么替代 – user2264587

+0

^右...'replace'不会取代... – elclanrs

+0

我得到您想要的输出 –

回答

2

编码您的JavaScript文件到utf-8和更新您的元标记:

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

抱我一秒。我将测试 – manix

+3

更好地使用来自html5的简短描述''这项工作甚至适用于IE6 – nk9

相关问题