javascript - javascript中变量的RegExp逻辑问题
问题描述
我们有一些复选框,当每个检查都为真时,一个值将被添加到单个文本框。
当每个检查都为假时, 它们自己的值将被删除。
我希望我解释得很好。
无论如何......这是我的代码:
<script>
function <?php echo $fff; ?>q(){
document.getElementById('<?php echo $chid; ?>').checked = false;
var v;
v=document.getElementById('<?php echo $lblid; ?>').innerText;
var ab;
ab=document.getElementById('ab').value;
var t;
let a = document.getElementById('<?php echo $idlevel; ?>').innerText;
const b = document.getElementById('<?php echo $txtid; ?>').value;
const c = '-' + b + '-' + a;
var reg;
reg= new RegExp(c, 'g');
t=ab.replace(reg,'');
document.getElementById('ab').value=t;
document.getElementById('<?php echo $lblid; ?>').innerHTML='<?php echo $talent; ?>';
}
</script>
我知道这不是一个干净的代码:)
顺便说一句ab
是我的文本框。是我的c
价值。
但问题是:
reg= new RegExp(c, 'g');
部分不接受c
作为价值。
当我这样做时它有效:reg= new RegExp('word', 'g');
但它不接受任何变量。
请帮忙。
解决方案
尝试 :
const c = '-' + b + '-' + a;
var newString = new String(c)
var reg = new RegExp(newString, "g");