如何使用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。不。英语数字的代码不同于波斯语数字。按哪个键是不可靠的:输入可以用键或上下文菜单粘贴,或用鼠标拖动,或用其他设备输入……是的,我们可以使用不同字母的复合词但我的问题不是事件,而是如何测试用户输入