正则修炼大法

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>正则修炼大法</title>
<script language="JavaScript">
<!--
var regInput=null;
var strInput=null;
var repAs=null;
var outInput=null;
var fIgnore=null;
var fGlobal=null;
function init(){
 regInput=document.getElementById("txtReg");
 strInput=document.getElementById("txtTestStr");
 repAs=document.getElementById("txtReplaceAs");
 outInput=document.getElementById("txtOut");
 fIgnore=document.getElementById("chkIgnoreCase");
 fGlobal=document.getElementById("chkGlobal");
}
function clearTxt(){ regInput.value=""; strInput.value="";}

function beginTest(){
 var reg= makeReg();
 var testResult = reg.test(strInput.value);
 document.getElementById("testVal").innerText=testResult;
 for(var i=1;i<10;i++)
  document.getElementById("td"+i).innerText=eval("RegExp.$"+i)+" ";
}

function beginMatch(){
 var reg= makeReg();
 var testResult = strInput.value.match(reg);
 document.getElementById("testVal").innerText=testResult.join(",");
 for(var i=1;i<10;i++)
  document.getElementById("td"+i).innerText=eval("RegExp.$"+i)+" ";
}

function beginReplace(){
 var reg= makeReg();
 var testResult = strInput.value.replace(reg,repAs.value);
 outInput.value=testResult;
 for(var i=1;i<10;i++)
  document.getElementById("td"+i).innerText=eval("RegExp.$"+i)+" ";
}

function makeReg(){
 var strFlag="";
 if(fGlobal.checked) strFlag+="g";
 if(fIgnore.checked) strFlag+="i";
 var reg=new RegExp(regInput.value,strFlag)
 return reg;
}

//-->
</script>
<style type="text/css">
td{font-size:12px}
</style>
</head>

<body οnlοad="init()">
<table width="800" border="1" cellspacing="0" cellpadding="0" align="center">
  <tr height="60">
    <td align="right">输入测试字符串:</td>
    <td><textarea id="txtTestStr" style="width:100%; height:100%; background-color:#FFFFEF ">; id:123  ; name :  meixuexiang    ;birthday: 19810625 ;sex:boy;</textarea></td>
  </tr>
  <tr height="30">
    <td width="20%" align="right">输入正则规则字符串:</td>
    <td>
  <input type="text" value="(^|;|/s)name/s*:/s*([^;]*)(/s|;|$)" id="txtReg" style="width:85%; background-color:#FFFFEF ">
  <input type="checkbox" id="chkGlobal">g&nbsp;
  <input type="checkbox" id="chkIgnoreCase">i&nbsp;
 </td>
  </tr>
  <tr height="60">
    <td align="right">替换为字符串:</td>
    <td><textarea id="txtReplaceAs" style="width:100%; height:100%; background-color:#FFFFEF "></textarea></td>
  </tr>
  <tr height="60">
    <td align="right">输出字符串:</td>
    <td><textarea id="txtOut" style="width:100%; height:100%; background-color:#FFFFEF "></textarea></td>
  </tr>
  <tr height="40">
    <td colspan="2" align="center">
  <input type="button" id="btnClear" οnclick="clearTxt()" value="Clear">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="button" id="btnRun" οnclick="beginTest()" value="test()">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="button" id="btnRun" οnclick="beginMatch()" value="match()">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="button" id="btnRun" οnclick="beginReplace()" value="replace()">
 </td>
  </tr>
</table>
<h3 align="center">运行结果</h3>
<table width="800" border="1" cellspacing="0" cellpadding="0" align="center">
  <tr height="30" bgcolor="#CCCCCC">
    <td width="25%" align="center">变量名</td>
    <td width="25%" align="center">值</td>
    <td width="25%" align="center">变量名</td>
    <td width="25%" align="center">值</td>
  </tr>
  <tr height="30">
    <td align="right">reg.test()</td>
    <td align="right" id="testVal">&nbsp;</td>
    <td align="right">$1</td>
    <td align="right" id="td1">&nbsp;</td>
  </tr>
  <tr height="30">
    <td align="right">$2</td>
    <td align="right" id="td2">&nbsp;</td>
    <td align="right">$3</td>
    <td align="right" id="td3">&nbsp;</td>
  </tr>
  <tr height="30">
    <td align="right">$4</td>
    <td align="right" id="td4">&nbsp;</td>
    <td align="right">$5</td>
    <td align="right" id="td5">&nbsp;</td>
  </tr>
  <tr height="30">
    <td align="right">$6</td>
    <td align="right" id="td6">&nbsp;</td>
    <td align="right">$7</td>
    <td align="right" id="td7">&nbsp;</td>
  </tr>
  <tr height="30">
    <td align="right">$8</td>
    <td align="right" id="td8">&nbsp;</td>
    <td align="right">$9</td>
    <td align="right" id="td9">&nbsp;</td>
  </tr>
</table>

</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值