Javascript 如何只接受带有土耳其语字符的文本区域中的字符?

Javascript 如何只接受带有土耳其语字符的文本区域中的字符?,javascript,inout,Javascript,Inout,下面是我的代码,用于textareainput只接受字符而不接受数字 var harfInput1 = document.getElementById('graduated_university_country'); harfInput1.addEventListener("keyup",function(){ if (harfInput1.value.match(/[^a-zA-Z' ']/g)){ harfInput1.va

下面是我的代码,用于textareainput只接受字符而不接受数字

var harfInput1 = document.getElementById('graduated_university_country');
    harfInput1.addEventListener("keyup",function(){
        if (harfInput1.value.match(/[^a-zA-Z' ']/g)){
            harfInput1.value = this.value.replace(/[^a-zA-Z]/g,'');
        }
    })
问题是我不能接受像这样的土耳其语角色。我试图在下面添加代码,但没有成功

var harfInput1 = document.getElementById('graduated_university_country');
    harfInput1.addEventListener("keyup",function(){
        if (harfInput1.value.match(/[^a-zA-Z' '][^\wığüşöçĞÜŞÖÇİ]/g)){
            harfInput1.value = this.value.replace(/[^a-zA-Z][^\wığüşöçĞÜŞÖÇİ]/g,'');
        }
    })

有什么建议吗?

我建议您看看正则表达式,正则表达式:

理解正则表达式后,请尝试使用以下正则表达式:

[^A-Z^a-z^0-9^şŞıİçÇöÖüÜĞğ\s]

你试过了吗。charAt()。检查输入字符是否在土耳其语unicode的范围内。

您可以使用下面的代码片段捕获所有字母,包括使用Javascript的土耳其语字母

var harfInput1=document.getElementById('毕业大学\国家');
harfInput1.addEventListener(“keyup”,function()){
if(harfInput1.value.match(/[^a-zA-Z''wıĞÜŞÖİ]/g)){
harfInput1.value=this.value.replace(/[^a-zA-ZwışşĞÜŞİ]/g',);
}
})

这可能会有所帮助。您修改的代码使用两个字符类,需要两个字符,每个字符中一个并排。您需要一个单字符类:
/[^a-zA-Z'\wışĞÜŞÖİ]/g
还要注意,
\w
包括
a-zA-Z
,因此该部分变得多余,第二个
也是如此。您可能还需要
i
标志,而不需要或不需要
g
标志:
/[^'\wışşĞÜŞİ]/i
。另外:当您只想知道某个内容是否匹配而不使用匹配结果时,请使用
test
方法,而不是
match
/[^'\wışöĞÜŞİ]/i.test(harfInput1.value)
这对土耳其语角色非常有效,但它也允许我输入数字我会再试一次我在js乞讨谢谢你的帮助:)