Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript检查表单字段中用户输入的波斯数字字符?_Javascript_Jquery - Fatal编程技术网

如何使用javascript检查表单字段中用户输入的波斯数字字符?

如何使用javascript检查表单字段中用户输入的波斯数字字符?,javascript,jquery,Javascript,Jquery,我想检查用户输入是否用波斯语输入数字。换句话说,它的键盘语言是波斯语或英语。 该字段只接受数字。 我正在尝试这样的事情: document.getElementById("give_me_the_lang").addEventListener("keyup", function() { var patt = new RegExp("^[\u06F0-\u06F9]+$"); if (patt.test(this.value)

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

            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";

在我的代码中,我向回调函数添加了一个参数,并将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) 
}
document.getElementById('a')。addEventListener('keypress',函数(e){
if(isPersian(e.charCode))
document.getElementById(“lang”).innerHTML='Persian';
其他的
document.getElementById(“lang”).innerHTML='English';
});
函数isPersian(charCode){

return(charCode>=1776&&charCode您可以添加更多关于哪些不起作用的详细信息吗?@ecraig12345我已经发布了正确的答案在这种情况下,我认为波斯语字符与英语字符相同,只是系统字体(os字体)不同。注意:最好叫拉丁语,而不是英语。@AminAdel。不。英语数字的代码不同于波斯语数字。按哪个键是不可靠的:输入可以用键或上下文菜单粘贴,或用鼠标拖动,或用其他设备输入……是的,我们可以使用不同字母的复合词但我的问题不是事件,而是如何测试用户输入