提问者:小点点

如何使用jQuery将输入值字母翻译成英文?


我正在使用Jquery创建一个简单的应用程序,在我的应用程序中,我想限制用户输入语言,例如,如果用户将在输入字段中记录俄文factin我想将这个输入值字母翻译成英文字符集。下面是我正在尝试的一个私人例子

null

$("#name").keyup(function() {
    var charsObject = {
        'а': 'a',
        'б': 'b',
        'г': 'g',
    };
    console.log($(this).val())
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="name">

null


共2个答案

匿名用户

null

$("#name").keyup(function(obj) {
  var charsObject = {
    'а': 'a',
    'б': 'b',
    'г': 'g',
  };
  if (charsObject[obj.key]) {
    console.log(charsObject[obj.key])
  } else {
    console.log(obj.key)
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="name">

匿名用户

以下将在您提供输入时对输入进行清理,无论是通过键入还是使用其他方法(如使用鼠标右键粘贴文本):

null

$("#name").on("input", function() {
  var carr='бb,гg'.split(',').map(e=>e.split(''));
  let s=$(this).val();
  carr.forEach(([k,v])=>s=s.replaceAll(k,v));
  $(this).val(s)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="name">