<script type="text/javascript">
function Change(str)
{
var changeStr = "change";
str = str.replace(/\[em(\d+)\]/g,changeStr+"$1");
  return str;
}
alert(Change("[em0][em1][em2][em21][em2]..."));
</script>

解决方案 »

  1.   

    function Change(str)
    {
      for (var i = 0;i < 25;i ++)  //可能有25个不同[em(n)]
      {
        var temp = "[em" + i + "]";
        var changeStr = "change" + i;  //替换的字符串是有规律的,暂且表示为这种关系吧
    var pattern = new RegExp("\\[em" + i + "\\]");
    pattern.global = true;
    while (pattern.test(str))
    {
    str = str.replace(pattern,changeStr);
    }
      }
      return str;
    }
    alert(Change("[em0][em1][em2][em21][em2]..."));
    </script>