<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
<input type="checkbox" id="chkIgnoreCase">i
</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">
<input type="button" id="btnRun" οnclick="beginTest()" value="test()">
<input type="button" id="btnRun" οnclick="beginMatch()" value="match()">
<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"> </td>
<td align="right">$1</td>
<td align="right" id="td1"> </td>
</tr>
<tr height="30">
<td align="right">$2</td>
<td align="right" id="td2"> </td>
<td align="right">$3</td>
<td align="right" id="td3"> </td>
</tr>
<tr height="30">
<td align="right">$4</td>
<td align="right" id="td4"> </td>
<td align="right">$5</td>
<td align="right" id="td5"> </td>
</tr>
<tr height="30">
<td align="right">$6</td>
<td align="right" id="td6"> </td>
<td align="right">$7</td>
<td align="right" id="td7"> </td>
</tr>
<tr height="30">
<td align="right">$8</td>
<td align="right" id="td8"> </td>
<td align="right">$9</td>
<td align="right" id="td9"> </td>
</tr>
</table>
</body>
</html>