【问题标题】:RegExp logical problem with variables in javascriptjavascript中变量的RegExp逻辑问题
【发布时间】:2021-11-09 08:54:50
【问题描述】:

我们有一些复选框,当每个检查都成立时,一个值将被添加到一个单个文本框

当每一次检查都为假时, 他们自己的价值将被删除。

希望我解释清楚。

无论如何... 这是我的代码:

<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>

我知道这不是一个干净的代码:)

btw ab 是我的文本框。 c 是我的价值。

但问题是: reg= new RegExp(c, 'g'); 部分没有 接受c 作为值。

当我这样做时它会起作用:reg= new RegExp('word', 'g');

但它不接受任何变量。

请帮忙。

【问题讨论】:

  • 如果你知道代码不干净,那么在询问之前清理它是值得的。更好的变量名称也会使事情变得更容易。您能否定义“它不接受任何变量”。实际发生了什么?

标签: javascript php html regex variables


【解决方案1】:

试试:

 const c = '-' + b + '-' + a;
 var newString = new String(c)
 var reg = new RegExp(newString, "g");

【讨论】:

    猜你喜欢
    • 2012-07-02
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多