正则修炼大法

来源:互联网 发布:淘宝帮派活动有用吗 编辑:程序博客网 时间:2024/05/01 09:19

<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 onload="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" onclick="clearTxt()" value="Clear">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="button" id="btnRun" onclick="beginTest()" value="test()">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="button" id="btnRun" onclick="beginMatch()" value="match()">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="button" id="btnRun" onclick="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>


原创粉丝点击