JavaScript - 用数字替换一些字母

JavaScript - Replace some letters with numbers

本文关键字:替换 数字 JavaScript      更新时间:2023-09-26

我正在尝试在 JQuery 中用数字替换一些字母,我已经像这样初始化了我的对象:

var myVar = {'a':1, 'b':2, 'c':3, 'd':4}

我从输入中获取字符串,我想在用户输入文本输入时立即转换这些字母。我想通过RegEx来做。

您可以将

input事件、String.prototype.replace()RegExp()与参数一起使用 new RegExp(keys.join("|"), "g" 其中keysmyVar对象的属性名称

var myVar = {"a":1, "b":2, "c":3, "d":4};
var keys = Object.keys(myVar);
document.querySelector("input")
.addEventListener("input", function(e) {
  e.target.value = e.target.value.replace(new RegExp(keys.join("|"), "g")
                   , function(match) {
                       return myVar[match]
                   });
});
<input type="text" />

使用 :

  • 事件keyup事件

  • 行动split join Stringmap Array

    $(INPUT_SELECTOR).keyup(function(event){
     var newVal=$(this).val().split('').map(function(ch){
        if(isFinite(ch) || !myVar[ch]){
            return ch;
       }else{
           return myVar[ch];
         }
     }).join('');
     $(this).val(newVal);
     })
    

演示