<script language=JavaScript>
a="0.0|0.1|0.3|0.2.3|1.2.3"
function rep(str)
  {var s=str.replace(/\./ig,"\\.");
   var reg=eval("/\\|"+s+"\\|/ig");
   return ("|"+a+"|").replace(reg,"|").replace(/^\|/ig,"").replace(/\|$/ig,"")
  }
alert(rep("0.0"))
alert(rep("0.1"))
alert(rep("0.3"))
alert(rep("0.2.3"))
alert(rep("1.2.3"))
</script>

解决方案 »

  1.   

    正则方式<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <!-- DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN" -->
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <META NAME="Author" CONTENT="Seagle.K">
    <SCRIPT LANGUAGE="JavaScript">
    function remove(item)
    {
    item = item.replace(/(\.)/g, '\\$1');
    var pattern = new RegExp("(" + item + "\\||\\|" + item + "$|"+item+")", "g");
    return txt.value.replace(pattern, '');
    }
    </SCRIPT>
    </HEAD>
    <BODY>
    source:
    <INPUT TYPE="text" id="txt" value="0.0|0.1|0.3|0.2.3|1.2.3" size="50">
    <BR>
    deletion:
    <SELECT id="sel">
    <option value="0.0">0.0</option>
    <option value="0.1">0.1</option>
    <option value="0.3">0.3</option>
    <option value="0.2.3">0.2.3</option>
    <option value="1.2.3">1.2.3</option>
    </SELECT>
    <BR>
    <INPUT TYPE="button" VALUE="remove" ONCLICK="res.value=remove(sel.value)">
    <BR>
    result:
    <INPUT TYPE="text" id="res" value="" size="50" readonly>
    </BODY>
    </HTML>其实用字符串分隔为数组,剔除数组元素,再合并的方式更易于理解和操作