我试图根据字母数组替换字符串中的字母。
我到目前为止所做的是
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
答案 0 :(得分:3)
使用RegExp
构造函数:
text = text.replace(new RegExp(char, 'gi'), '');
值得注意: some characters 具有特殊含义,需要转义才能按字面处理(例如.
必须写为{ {1}}表示“文字点”,而不是“任何字符”。
或者,加入字符数组,转义需要转义的内容,并执行一次替换:
\.