JS 利用正则表达式一次替换多对值

2021-12-30 18:46:38 [大杂烩 - PC与手机]

在JAVASCRIPT 中对字符串进行处理时,往往会遇到要替换多个成对的值。

使用replace 正则表达式的function方法可以使代码简洁易懂。


var t="一三四六九零";
document.write (t);
document.write ("=");
document.write (t.replace(/([零一二三四五六七八九])/g,function(s){return "零一二三四五六七八九".indexOf(s)}));

结果为

一三四六九零=134690 


复杂一点,可以是如下的值对:

var t="axcvbydz";

document.write (t);
document.write ("=");
document.write (t.replace(/(abcd)/gi, function ($0, $1) {
       return {
        "a": '1',
        "b": '2',
        "c":"3",
        "d": "4"
       }[$1];
      }));


结果为

axcvbydz =1x3v2y4z