欢迎光临
我们一直在努力

Javascript正则表达式测试网页-ASP教程,正则表达式

建站超值云服务器,限时71元/月

javascript正则表达式测试网页

你平时如何测试正则表达式?直接写在大段的代码中,然后等待程序运行到那里,再用alert显示结果?或者是临时写一个页面,测试完成后把它丢掉?

你可以试一下我这个页面,虽然它很粗糙,但是测试正则表达式也足够了:))

一、说明:

1. 我的本意为交流技术.本人水平很菜.因此所贴出的代码中,会有不足之处.

2. 代码可任意修改.如果你觉得你修改过的代码比我的好,可将它贴出,我非常感谢.

3. 我对javascript的规范并不很熟悉.我的经验来自于开发.因此,若你对它有更好的见解,欢迎提出,我非常感谢.

二、测试用例:

1. 检查字符串中是否有非数字的字符:

test regex: \d

test regex flags: g

test string: 1234g56t78

2. 检查字符串中是否有非0-9、a~z、a-z、_的字符:

test regex: \w

test regex flags: g

test string: im a pig! yes im!

3. 匹配字符串中的实数:

test regex: ([\d]+])\.([\d]+)

test regex flags: g

test string: float1234.58.723c65.183

三、程序代码:

<!doctype html public "-//w3c//dtd html 4.01 transitional//en">

<html>

<head>

<title>javascript regex test page</title>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

<script>

/**

* method 测试正则表达式函数

* @param method 接收到的正则表达式类的方法

*/

function check(method)

{

// 将用户输入的正则表达式的标志转换为小写

form1.flags.value = form1.flags.value.tolowercase();

// 如果含有不是g、i、m的字符, 则 提示并返回

if ( form1.flags.value.search(/[^g|i|m]/g) != -1 )

{

alert("flags only can be g, i, m");

return;

}

// 利用用户输入的字符串和标志建立正则表达式

var re = new regexp(form1.regex.value, form1.flags.value);

// 获得并显示生成的正则表达式的字符串形式

destregex.innertext = re.tostring() + ;

// 定义 返回值

var cr;

ex = "new regexp(" + form1.regex.value + ", " + form1.flags.value + ").";

// 根据用户选择的方法, 进行相应的调用

switch ( method )

{

case 0: // 正则表达式的 exec 方法

cr = re.exec(form1.string.value);

ex = ex + "exec(" + form1.string.value + ")";

break;

case 1: // 正则表达式的 test 方法

cr = re.test(form1.string.value);

ex = ex + "test(" + form1.string.value + ")";

break;

case 2: // 字符串类的 match 方法

cr = form1.string.value.match(re);

ex = "" + form1.string.value + ".match(" + re.tostring() + ")";

break;

case 3: // 字符串类的 search 方法

cr = form1.string.value.search(re);

ex = "" + form1.string.value + ".search(" + re.tostring() + ")";

break;

case 4: // 字符串类的 replace 方法

cr = form1.string.value.replace(re);

ex = "" + form1.string.value + ".replace(" + re.tostring() + ")";

break;

case 5: // 字符串类的 split 方法

cr = form1.string.value.split(re);

ex = "" + form1.string.value + ".split(" + re.tostring() + ")";

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 += "array[" + i + "] = " + cr[i] + "\n";

}

}

else

if ( cr != null ) // 如果计算结果不为null, 则取出计算结果的值

{

result = cr;

}

// 获得并显示结果

matchresult.innertext = result + ;

// 获得并显示正则表达式的lastindex属性

lastindex.innertext = re.lastindex + ;

}

</script>

</head>

<body align=center>

<form name="form1" method="post" action="" align=center>

<table border="1">

<tr>

<td colspan="2" align="center">test javascript regex</td>

</tr>

<tr>

<td>test regex:</td>

<td><input name="regex" type="text"></td>

</tr>

<tr>

<td>test regex flags:</td>

<td><input name="flags" type="text" id="flags"></td>

</tr>

<tr>

<td>test string:</td>

<td><input name="string" type="text"></td>

</tr>

<tr>

<td>select method:</td>

<td align="center">

<select name="select" onchange="check(this.value)">

<option value="0">exec</option>

<option value="1">test</option>

<option value="2">match</option>

<option value="3">search</option>

<option value="4">replace</option>

<option value="5">split</option>

</select>

<input value=run onclick="check(form1.select.value)" type=button>

</td>

</tr>

<tr>

<td>dest regex:</td>

<td style="color:blue" id=destregex>&nbsp;</td>

</tr>

<tr>

<td>dest expression:</td>

<td style="color:blue" id=expression>&nbsp;</td>

<tr>

<tr>

<td>return type:</td>

<td style="color:darkred" id=returntype>&nbsp;</td>

</tr>

<tr>

<td>result:</td>

<td style="color:red" id=matchresult>&nbsp;</td>

</tr>

<tr>

<td>regex lastindex:</td>

<td style="color:red" id=lastindex>&nbsp;</td>

</tr>

</table>

</form>

</body>

</html>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Javascript正则表达式测试网页-ASP教程,正则表达式
分享到: 更多 (0)

相关推荐

  • 暂无文章