Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式无法使用字符串名称_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式无法使用字符串名称

Javascript 正则表达式无法使用字符串名称,javascript,regex,Javascript,Regex,我有一个javascript正则表达式不起作用。我的代码是 JavaScript: HTML: 在函数替换中,如果我使用字符串作为模式,它将不起作用。 我怎样才能让它工作…有什么建议吗 使用: 请注意,如果要替换包含特殊正则表达式模式的字符串,而不将其解释为正则表达式模式(例如,要完全替换。*),则需要转义字符串。不幸的是,JavaScript中没有用于此的标准函数,但很容易编写并找到以下函数。使用: 请注意,如果要替换包含特殊正则表达式模式的字符串,而不将其解释为正则表达式模式(例如,要完全替

我有一个javascript正则表达式不起作用。我的代码是

JavaScript:

HTML:

在函数替换中,如果我使用字符串作为模式,它将不起作用。 我怎样才能让它工作…有什么建议吗

使用:

请注意,如果要替换包含特殊正则表达式模式的字符串,而不将其解释为正则表达式模式(例如,要完全替换。*),则需要转义字符串。不幸的是,JavaScript中没有用于此的标准函数,但很容易编写并找到以下函数。

使用:


请注意,如果要替换包含特殊正则表达式模式的字符串,而不将其解释为正则表达式模式(例如,要完全替换。*),则需要转义字符串。不幸的是,JavaScript中没有标准的函数,但是很容易编写并在这里找到。

感谢您的快速回复,我还有一个问题,假设我必须用string1替换它,其中string1=一切,在这种情况下我应该怎么做?很好。但是,如果可能的话,我会跳过字符串var并立即将var创建为RegExp,以避免dystroy在注释中提到的内容。即var theRE=new RegExp'something','ig'。。。el.innerHTML=el.innerHTML.replacetheRE,Everything;。这还允许您以较低的成本和性能重用正则表达式。感谢您的快速回复,我还有一个问题,假设我必须用string1替换它,其中string1=一切,在这种情况下我应该怎么做?很好。但是,如果可能的话,我会跳过字符串var并立即将var创建为RegExp,以避免dystroy在注释中提到的内容。即var theRE=new RegExp'something','ig'。。。el.innerHTML=el.innerHTML.replacetheRE,Everything;。这还允许您以较低的性价比重用正则表达式。
  function doit()
  {
     var string="something";
     var el=document.getElementById("monu");
     el.innerHTML = el.innerHTML.replace(/(string)/ig,"Everything");
  }
    <div id="monu">something is better than nothing</div>
    <button onclick=doit();>replace</button>
el.innerHTML = el.innerHTML.replace(new RegExp(string,'ig'),"Everything");