替换字母动态

时间:2016-04-05 12:47:08

标签: javascript regex

我试图根据字母数组替换字符串中的字母。

我到目前为止所做的是

var value = '00-.Tday(52)'
if(!textService.containsLettersExcept(value, ['t', '.', '-'])){
    // yay
}

       function containsLettersExcept(text, exceptions){
            console.info('text before : ', text)
            for(var i = 0; i< exceptions.length; i++){
                var char = exceptions[i];
                text = text.replace(/char/gi, '');
            }
            console.info('text : ', text)
            return text.match(/[a-z]/i);
        }

然而,这会尝试删除字符串&#34; char&#34;而不是字符串char

中的变量text

1 个答案:

答案 0 :(得分:3)

使用RegExp构造函数:

text = text.replace(new RegExp(char, 'gi'), '');

值得注意 some characters 具有特殊含义,需要转义才能按字面处理(例如.必须写为{ {1}}表示“文字点”,而不是“任何字符”。

或者,加入字符数组,转义需要转义的内容,并执行一次替换:

\.