2

我想检查是否以波斯语输入数字的用户输入。换句话说,它的键盘语言是波斯语或英语。该字段仅接受数字。我正在尝试这样的事情:

            document.getElementById("give_me_the_lang").addEventListener("keyup", function() {
            var patt = new RegExp("^[\u06F0-\u06F9]+$");
            if (patt.test(this.value)) {
                document.getElementById("show_lang_in_here").innerHTML = "Persian";                          
            } 
            else {
                 document.getElementById("show_lang_in_here").innerHTML = "english";
4

1 回答 1

1

在我的代码中,我向回调函数添加了一个参数,并将 this.value 更改为 e.key。它工作正常。

  document.getElementById("a").addEventListener("keyup", function(e) {
        var patt = new RegExp("^[\u06F0-\u06F9]+$");
        if (patt.test(e.key)) 
            document.getElementById("lang").innerHTML = "Persian";                            
        else 
            document.getElementById("lang").innerHTML = "english";

             })

第二种解决方案:

document.getElementById('a').addEventListener('keypress',function(e){
 if (isPersian(e.charCode))
   document.getElementById("lang").innerHTML='Persian';
 else
   document.getElementById("lang").innerHTML='English';

 });

function isPersian(charCode){
return (charCode >= 1776 && charCode <= 1785) 
}

统一码

于 2019-03-17T12:01:01.750 回答