2016-10-02 125 views
3

有没有什么方法可以识别键盘语言? 我有一个简单的文本框。我想检查键盘语言。当用户点击文本框时,如果键盘语言与波斯语相反,则用户无法输入任何内容并显示错误:“将您的键盘语言更改为波斯语”,以及键盘语言改变时用户可以输入。如何识别jQuery的键盘语言

+0

我不这么认为,但你可以使用该keydown事件以防止用户输入某些字符。在这种情况下,您可以检查并只允许波斯人字符。如果您在Google上进行搜索,那么只有很多例子可以用来只允许使用数字。 – solarc

回答

3

我用两种不同的方法在我的解决方案检测英语和波斯语字符:

document.getElementById('a').addEventListener('keypress',function(e){ 
 
    if ((e.charCode >= 97 && e.charCode <= 122) || (e.charCode>=65 && e.charCode<=90)) 
 
     console.log('English'); 
 
    else if(isPersian(e.key)) 
 
     console.log('Persian'); 
 
    else 
 
     console.log('Others') 
 
}); 
 

 
function isPersian(str){ 
 
    var p = /^[\u0600-\u06FF\s]+$/; 
 
    return p.test(str); 
 
}
<input id="a" type="text"/>

+1

非常感谢 – inaz

2

我不认为这是可能的 - 反正它可能不是你想要的(Caps Lock键,例如,仍然会输出英文) 我建议如下:在您的textarea一个keypress事件侦听器和检查针对“只波斯猫”正则表达式 每个字母像这样(未经):

document.getElementById('a').addEventListener('keypress',function(e){ 
 
    if (e.charCode > 160) 
 
    console.log('persian'); 
 
    else 
 
    console.log('english'); 
 
});
<input type="text" id="a"/>