var str = "12345678900000012345678";
var num = 3;
var len = parseInt(str.length/2, 10) - parseInt(num/2, 10);
var reg = new RegExp("(\\d{" + len + "})\\d{" + num + "}(\\d+)?", "gi");
var s = str.replace(reg,"$1*$2");
alert(s);
这个正则其实很简单,(或者可能还有其他的漏洞)
主要是在正则中插入变量