使用regexp替换Javascript allInput=document.getElementById('allInput'); var nivel=新数组('tabelas','produto'); 对于(变量i=0;i”+allInput.value+“”+allInput.value+”
如果您使用使用regexp替换Javascript allInput=document.getElementById('allInput'); var nivel=新数组('tabelas','produto'); 对于(变量i=0;i”+allInput.value+“”+allInput.value+”,javascript,regex,arrays,input,Javascript,Regex,Arrays,Input,如果您使用新RegExp(…)语法构造RegExp,则需要两个反斜杠来转义字符 <input type="text" value="[tabelas][something][oas]" id="allInput"> <script type="text/javascript"> allInput = document.getElementById('allInput'); var nivel = new Array('tabelas', 'produto'); f
新RegExp(…)
语法构造RegExp,则需要两个反斜杠来转义字符
<input type="text" value="[tabelas][something][oas]" id="allInput">
<script type="text/javascript">
allInput = document.getElementById('allInput');
var nivel = new Array('tabelas', 'produto');
for (var i =0; i < nivel.length ; i++ )
{
alert(" oi => " + allInput.value + " <-- " + nivel[i]) ;
var re = new RegExp("^\[" + nivel[i] + "\]\[.+\].+", "g");
alert(re);
allInput.value = allInput.value.replace(
re, "OLA");
alert(" oi 2 => " + allInput.value + " <-- " + nivel[i]) ;
}
</script>
“\[”
将导致字符串[
,“\\[”
将导致\[
\[.+\]
匹配的字符串类似于[abc][def]
。您可能需要\[\w+\]
或类似的字符串而且,我相信他想要的是
\\\[^\\]+\\]
而不是\\\[.+\\]
new RegExp("^\\[" + nivel[i] + "\\]\\[.+\\].+", "g");