2016-10-02 153 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"/>