<SCRIPT LANGUAGE="JavaScript">
<!--
var a = "./&?:\\\\\\./";
var mm =   //写一个对照表
{
  ".":0,
  "/":1,
  "&":2,
  "?":3,
  ":":4,
  "\\":5
}
alert(a);
while(/(\D)/.test(a)) a = a.replace(RegExp.$1, mm[RegExp.$1]);
alert(a);
//-->
</SCRIPT>

解决方案 »

  1.   

    Re: 回复人: meizz(梅花雪) ( ) 信誉:705  2005-2-10 13:40:50  得分: 20  如果要替换成字符,好象有问题?
    比如:  ".":"a","/":"b",
    这样出不来
      

  2.   

    又比如:如果要替换成字符,好象有问题?
    比如:  ".":"axe1","/":"axe2",
    这样出不来
      

  3.   

    那是因为正则表达式的写法之故, 我是写成了 \D 即匹配所有的非数字, 而替换后的 a axe1 都是非数字, 因为不能正确匹配, 因此你得看看你匹配后的结果是什么再写正则表达式, 比如说你可以写成:
    while(/(\W|_)/.test(a))  这样就可以满足你后两种要求了