JavaScript - 用数字替换一些字母

时间:2016-07-24 05:47:32

标签: javascript jquery

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

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

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

2 个答案:

答案 0 :(得分:2)

您可以将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" />

答案 1 :(得分:1)

使用:

  • 活动keyup活动

  • 行动split&amp; join的{​​{1}}和String的{​​{1}}。

    map

DEMO