在输入中更改语言

时间:2018-09-26 18:08:44

标签: javascript jquery

我有一个函数,可在输入时将阿拉伯数字转换为英文,可在我的桌面浏览器上运行,但是当我在移动浏览器上尝试它不起作用时,有人知道为什么吗?这是代码:

let map =  {
  '۰' : "0",
  '۱' : "1",
  '۲' : "2",
  '۳' : "3",
  '۴' : "4",
  '۵' : "5",
  '۶' : "6",
  '۷' : "7",
  '۸' : "8",
  '۹' : "9"
 };

function change(el){
  el.value = el.value.replace(/[۰۱۲۳۴۵۶۷۸۹]/g, function(match){
    return map[match]
  })
}
<input type="text" oninput="change(this)">

1 个答案:

答案 0 :(得分:-1)

我想我有答案,您需要在对象上运行,以找出用户在输入中插入的字符是否等于对象中的“键”。

查看我的代码是否有帮助:

<html>
<body>

<input type="text" onkeyup="change(this)" value="">

<script>
let map =  {
 '۰' : "0",
  '۱' : "1",
  '۲' : "2",
  '۳' : "3",
  '۴' : "4",
  '۵' : "5",
  '۶' : "6",
  '۷' : "7",
  '۸' : "8",
  '۹' : "9"
 };

function change(el){
  for (var key in map) {

          console.log(el.value.slice(-1));
        if (key == el.value.slice(-1)) {
             el.value +=  map[key]; // save the value as number
             el.value = el.value.replace(key,''); // clean all the "replaced" character
        }
    }
}
</script>
</body>