提问: RegExp $X 问题……

dylanOK 2002-09-29 11:45:46
搞了个String 替换,想用数组这样便于扩展,但replace那句过不去……


var NumArr = new Array();
NumArr["1"]=1;
NumArr["2"]=2;
NumArr["3"]=3;
NumArr["4"]=4;
NumArr["5"]=5;
NumArr["6"]=6;
NumArr["7"]=7;
NumArr["8"]=8;
NumArr["9"]=9;
NumArr["0"]=0;

var str="1";
var reg = new RegExp("(1|2|3|4|5|6|7|8|9|0)","gi");
str = str.replace(reg,NumArr[$1]);
...全文
38 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dylanOK 2002-09-29
  • 打赏
  • 举报
回复
好!谢谢秋水!^O^
qiushuiwuhen 2002-09-29
  • 打赏
  • 举报
回复
js5.5以下
<script>
var NumArr = new Array();
NumArr["1"]=1;
NumArr["2"]=2;
NumArr["3"]=3;
NumArr["4"]=4;
NumArr["5"]=5;
NumArr["6"]=6;
NumArr["7"]=7;
NumArr["8"]=8;
NumArr["9"]=9;
NumArr["0"]=0;

var str="18";
for(ob in NumArr)str=str.replace(new RegExp(ob,"gi"),NumArr[ob]);
alert(str)
</script>
qiushuiwuhen 2002-09-29
  • 打赏
  • 举报
回复
js5.5+
<script>
var NumArr = new Array();
NumArr["1"]=1;
NumArr["2"]=2;
NumArr["3"]=3;
NumArr["4"]=4;
NumArr["5"]=5;
NumArr["6"]=6;
NumArr["7"]=7;
NumArr["8"]=8;
NumArr["9"]=9;
NumArr["0"]=0;

var str="18";
var reg = new RegExp("(1|2|3|4|5|6|7|8|9|0)","gi");
str = str.replace(reg,function($1){return NumArr[$1]});
alert(str)
</script>
dylanOK 2002-09-29
  • 打赏
  • 举报
回复
老大,这里是JavaScript 版呀!
wjmmml 2002-09-29
  • 打赏
  • 举报
回复
哦,是js啊,好象我弄错了,我以为是java呢,呵
那你就检查一下,是不是你给的参数类型不对。
wjmmml 2002-09-29
  • 打赏
  • 举报
回复
jdk1.3没有replace这个函数,解决办法:
要么升级jdk到1.4。要么用我给你的下面的函数:
public String stringReplace(String sourceString, String toReplaceString, String replaceString)
{
String returnString = sourceString;
int stringLength = 0;
if(toReplaceString != null)
{
stringLength = toReplaceString.length();
}
if(returnString != null && returnString.length() > stringLength)
{
int max = 0;
String S4 = "";
for(int i = 0; i < sourceString.length(); i++)
{
max = i + toReplaceString.length() > sourceString.length()? sourceString.length():i + stringLength;
String S3 = sourceString.substring(i, max);
if(!S3.equals(toReplaceString))
{
S4 += S3.substring(0,1);
}else{
S4 += replaceString;
i += stringLength -1 ;
}
}
returnString = S4;
}
return returnString;
}

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧