<HTML>
<HEAD>
<TITLE>正则表达式测试</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=GB2312">
<link type="text/css" rel="stylesheet" href="./public.css">
<SCRIPT language='javascript'>
String.prototype.Trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.LTrim = function()
{
return this.replace(/(^\s*)/g, "");
}
String.prototype.RTrim = function()
{
return this.replace(/(\s*$)/g, "");
}
function check(method)
{
// 将用户输入的正则表达式的标志转换为小写
FrmReg.flags.value = FrmReg.flags.value.toLowerCase(); // 如果含有不是g、i、m的字符, 则 提示并返回
if ( FrmReg.string.value.length == 0 )
{
alert("请先输入测试字符串 ... !");
return;
}
if ( FrmReg.regex.value.length == 0 )
{
alert("请先输入正则表达式字符串 ... !");
return;
}
if ( FrmReg.flags.value.search(/[^gim]/g) != -1 ) //var re = new RegExp("[^gim]", "gi");
{
alert("Flags only can be g, i, m");
FrmReg.flags.value = FrmReg.flags.value.replace(/([^gim])/g,"");
return;
}
// 利用用户输入的字符串和标志建立正则表达式
var re = new RegExp(FrmReg.regex.value, FrmReg.flags.value); // 获得并显示生成的正则表达式的字符串形式
destRegex.innerText = re.toString(); // 定义 返回值
var cr;
var ex = "\"" + FrmReg.string.value + "\"";
// 根据用户选择的方法, 进行相应的调用
switch ( method )
{
case '0': // 正则表达式的 exec 方法
cr = re.test(FrmReg.string.value);
ex = ex + ".test(" + re.toString() + ")";
break;
case '1': // 正则表达式的 test 方法
cr = re.exec(FrmReg.string.value);
ex = ex + ".exec(" + re.toString() + ")";
break;
case '2': // 字符串类的 match 方法
cr = FrmReg.string.value.match(re);
ex = ex + ".match(" + re.toString() + ")";
break;
case '3': // 字符串类的 search 方法
cr = FrmReg.string.value.search(re);
ex = ex + ".search(" + re.toString() + ")";
break;
case '4': // 字符串类的 replace 方法
cr = FrmReg.string.value.replace(re);
ex = ex + ".replace(" + re.toString() + ")";
break;
case '5': // 字符串类的 split 方法
cr = FrmReg.string.value.split(re);
ex = ex + ".split(" + re.toString() + ")";
break;
default:
break;
}
expression.innerText = ex; // 获得并显示计算结果的类型
returnType.innerText = typeof(cr); // 定义结果
var result = '';
// 如果计算结果是一个数组, 则取出所有数组的值
if ( cr != null && typeof(cr) == 'object' && cr.length != null )
{
for ( i = 0; i < cr.length; i++)
{
result += "[" + i + "] = " + cr[i] + "\n";
}
}
else if ( cr != null ) // 如果计算结果不为null, 则取出计算结果的值
{
result = cr;
}
// 获得并显示结果
matchResult.innerText = result; // 获得并显示正则表达式的lastIndex属性
lastIndex.innerText = re.lastIndex;
}
function init(){
FrmReg.string.value = "123456@#$#fsdf";
FrmReg.regex.value = "\D";
FrmReg.flags.value = "gi";
oXmlDoc = new ActiveXObject("Microsoft.XMLDOM");
oXmlDoc.load("code.xml");
code.innerText = oXmlDoc.lastChild.firstChild.nodeValue;
}
window.onload=init;
</SCRIPT>
</HEAD>
<BODY ALIGN=CENTER>
<FORM NAME="FrmReg" METHOD="post" ACTION="" ALIGN='CENTER'>
<TABLE BORDER="1">
<caption>正则表达式测试</caption>
<TR><TD>test regex: <TD><INPUT NAME="regex" TYPE="text" >
<TR><TD>test regex flags:<TD><INPUT NAME="flags" TYPE="text">
<TR><TD>test string: <TD><INPUT NAME="string" TYPE="text">
<TR><TD>select method: <TD><Select NAME="select">
<OPTION VALUE="0">test</OPTION>
<OPTION VALUE="1">exec</OPTION>
<OPTION VALUE="2">match</OPTION>
<OPTION VALUE="3">search</OPTION>
<OPTION VALUE="4">replace</OPTION>
<OPTION VALUE="5">split</OPTION>
</Select>
<TR><TD>dest regex: <TD STYLE="color:blue" ID=destRegex> 0
<TR><TD>dest expression: <TD STYLE="color:blue" ID=expression> 0
<TR><TD>return type: <TD STYLE="color:darkred" ID=returnType> 0
<TR><TD>result: <TD STYLE="color:red" ID=matchResult> 0
<TR><TD>regex lastIndex: <TD STYLE="color:red" ID=lastIndex> 0
<TR><TD colspan=2><input type="button" onclick="javascript:check(FrmReg.select.value)" value='执 行'>
<input type="button" value="测试用例" onclick="javascript:if(this.value == '测试用例'){etc.style.display='block';this.value = '隐藏用例';}else{etc.style.display='none';this.value = '测试用例';}">
<input type="button" value="作者信息" onclick="javascript:if(this.value == '作者信息'){link_div.style.display='block';this.value = '隐藏信息';}else{link_div.style.display='none';this.value = '作者信息';}">
<input type="reset" >
<input type="button" value="查看代码" onclick="javascript:if(this.value == '查看代码'){code.style.display='block';this.value = '隐藏代码';}else{code.style.display='none';this.value = '查看代码';}">
</TABLE>
</FORM>
<Div id="link_div" style="display:none;">
此文经本人修改重新发布,若对你有益是我最大的荣幸!有疑问之处,请与我联系!<br>
原文出自<a href=http://a1l.cn/article.asp?id=7741 target=_blank>『幽月's Blog』</a><br>
『姓名』: <a href="http://blog.csdn.net/liuhui9966"> 刘辉 </a> <br>
『邮箱』: <a href="mailto:liuhui-9966@163.com">liuhui-9966@163.com</a><br>
『博客』: <a href="http://blog.csdn.net/liuhui9966">http://blog.csdn.net/liuhui9966</a><br>
『电话』: 13880627342 028-61050080 <br>
<A href="#" onclick="javascript:window.open('http://wpa.qq.com/msgrd?V=1&Uin=14242626&Site=www.pocolor.com&Menu=yes');" target=blank><IMG alt="Cool Boy's QQ:14242626" src="http://wpa.qq.com/pa?p=1:14242626:1" border=0></A>
</div>
<Div id="etc" style="display:none;">
1. 检查字符串中是否有非数字的字符: <br>
test regex: \D <br>
test regex flags: g <br>
test string: 1234g56t78 <br>
2. 检查字符串中是否有非0-9、a~z、A-Z、_的字符: <br>
test regex: \W <br>
test regex flags: g <br>
test string: i'm a pig! yes I'm! <br>
3. 匹配字符串中的实数: <br>
test regex: ( ])\.( ) <br>
test regex flags: g <br>
test string: flOAt1234.58.723c65.183 <br>
</Div>
<Div id="code" style="display:none;">
OK
</DIV>
</BODY>
</HTML>
没有合适的资源?快使用搜索试试~ 我知道了~
正则表达式自动测试(可查看原代码)
共3个文件
css:1个
xml:1个
htm:1个
需积分: 10 13 下载量 150 浏览量
2008-01-16
15:31:54
上传
评论
收藏 6KB RAR 举报
温馨提示
一个进行改进过的正则表达式测试页面,可进行正则表达式测试,简单、直接、方便、快捷,附了原代码查看功能,用了觉得好可以给我评个分,谢谢 ......
资源推荐
资源详情
资源评论
收起资源包目录
RegExTest.rar (3个子文件)
RegExTest
JAVASCRIPT正则表达式测试.htm 6KB
code.xml 7KB
public.css 1KB
共 3 条
- 1
资源评论
liuhui9966
- 粉丝: 2
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功