str="[aa22233]sdfsd67f54[bbb]";
str=str.replace(/(\[.*?\])|[^\d]/ig,"");
alert(str);
解决方案 »
- 请帮忙指点正则表达式的问题 (新手,目前还没分,抱歉)
- 关于switchSysBar()函数
- 关于【梅花雪】的树双击不会展开的问题
- 高分求救:JavaScript 如何验证 Email 格式的正确性? 十万火急!!!
- 我如何知道在剪贴板中的数据是不是图像格式?
- 【jQuery】表单验证插件validation
- 判断是否为自然数
- 孟子请进,是关于http://lucky.myrice.com/print.htm的
- 如何后退到自己所要要的网页
- IE6下JQuery特效问题,在iframe中点击后页面后宽度变短,直至消失,求助
- 如何实现这样的功能??
- document.player.intsec.value
Function ReplaceQuestion1(QStr)
Dim re
Set re = new RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern = "\[.[^\]]*?\]"
QStr = re.Replace(QStr,"")
Set re = Nothing
Set re = new RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern = "\d"
Set Matches =re.Execute(QStr)
Set re = Nothing
For Each Match in Matches
wstr=wstr&Match.Value
Next
ReplaceQuestion1= wstr
End Function
response.Write ReplaceQuestion1(str1)
var tmp=str.match(/^\[.*?\](.*?)\[.*?\]$/);
tmp=tmp[1].match(/\d+/g);
for(i=0;i<tmp.length;i++){
alert(tmp[i]);
}
var str2="strResult.match(oReg2);"
var strResult1="",strResult2="";
var oReg1=/^(\[.*?\])(.*?)(\[.*?\])$/gi;
var oReg2=/\d+/gi;
strResult1=str.replace(oReg1,"$2");
strResult2=str.replace(oReg1,"$2");
alert(strResult1.match(oReg2));
alert(strResult2.match(oReg2));
[aa22233]sdfsd67.22f54asd233[22bbb]得到 [aa22233]sdfsd*****f**[22bbb] ,就是不显示出数字,用×代替
(注意67.22变为*****)这点上面好像都不行。
var rg = /\[(.*?)\]/g;//"[.*].*?(\d+)[.*]";var show = ss.replace(rg,"");
show = show.match(/(?=[^\d]*)(\d+)/g)
Function ReplaceQuestion2(QStr)
Dim re
Set re = new RegExp
re.IgnoreCase = True
re.Global = True
re.Pattern = "\[.[\]]*?\]|[\d]"
QStr = re.Replace(QStr,"*")
ReplaceQuestion2= QStr
End Function
response.Write ReplaceQuestion2(str2)这个还没测试
//一次到位的替换不会,替换了3次.....
var str="[aa22233]sdfsd67.22f54asd233[22bbb]";
var RegEp=/(\[[^\]]*\])/g;
var Arr=new Array();
var m,Key=65;
while((m=RegEp.exec(str)))
{
Arr.push({kw:String.fromCharCode(Key),value:m[1]});
str=str.replace(m[1],"$"+String.fromCharCode(Key)+"$")
Key++;
}
RegEp=/(\d+\.?\d+)/g
str=str.replace(RegEp,function($3){var str="";for(var i=0;i<$3.length;i++) str+="*"; return str;});
for(i=0;i<Arr.length;i++)
{
str=str.replace("$"+Arr[i].kw+"$",Arr[i].value);
}
alert(str)
var rg = /(?=[^\d]*)(\d+)/g;//"[.*].*?(\d+)[.*]";
//debugger;/\[(.*?)\]/g;//
sss = ss.replace(/\[(.*?)\]/g,"");
//alert( ss.match(rg,"g"));
//alert(sss);
//alert(sss.match(rg,"g"))
var show = ss.replace(rg,function (a,b,c){
if(sss.match(rg,"g").input.indexOf(a)<0)return a;
var ico="";
for(var i=0;i<a.length;i++)
{ico+="*"}
return ico;
}
);
alert(show)
var re = /((?:\[[^\]]*\])?[^\[]*?)(\d+(?:\.\d+)?)/ig;
ss = ss.replace(re,function(a,b,c){var arr = new Array(c.length+1);return b + arr.join("*");});
alert(ss);
var str = "这个也要行[aa22233] 你好67的54[bbb].";
var newStr = "";
str.replace(/(\[.+?\])(.+?)(\[.+?\])/ig,function()
{
var arg = arguments;
if(arg.length < 4)return;
newStr = arg[1] + arg[2].replace(/\d/g,"*") + arg[3];
});
alert(newStr);
</script>
<script>
var str = "这个也要行[aa22233] 你好67的54[bbb].";
var newStr = "";
str.replace(/(\[.+?\])(.+?)(\[.+?\])/ig,function()
{
var arg = arguments;
if(arg.length < 4)return;
newStr = arg[1] + arg[2].replace(/\d/g,"*") + arg[3];
});
alert(newStr);
</script>
var str = "[aa22233] 你好67的54[bbb][aa22233]jj12[dfadf121]";
var newStr = "";
str.replace(/(\[.+?\])(.+?)(\[.+?\])/ig,function()
{
var arg = arguments;
if(arg.length < 4)return;
newStr += arg[1] + arg[2].replace(/\d/g,"*") + arg[3];
});
alert(newStr);
</script>
var re = /((?:\[[^\]]*\])?[^\[]*?)(\d*(?:\.\d+)?)/ig;
ss = ss.replace(re,function(a,b,c){ var arr = new Array(c.length+1);
return b + arr.join("*");
}
);
alert(ss);
这样貌似就行了
//少了个?号
var ss ="[aa22233] 你好67.123的54[bbb][aa22233]jj12[dfadf121]";
var re = /((?:\[[^\]]*\])?[^\[]*?)(\d+(?:\.\d+)?)?/ig;
ss = ss.replace(re,function(a,b,c){var arr = new Array(c.length+1);return b + arr.join("*");});
alert(ss);
\d+(?: -> d*(?: 把+改成*了
对于用户来说需要的是最后的结果,不是过程。
TO gzdiablo :这也说明一点,你实力很强,但做事情不细。