html检测正则表达式,Javascript正则表达式测试网页

Javascript正则表达式测试网页

发布时间:2020-04-08 来源:未知 点击:

你平时如何测试正则表达式?直接写在大段的代码中,然后等待程序运行到那里,再用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: i'm a pig! yes I'm!

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

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

test regex flags: g

test string: float1234.58.723c65.183

三、程序代码:

Javascript regex test page

/**

* 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 + ' ';

}

test javascript regex
test regex:
test regex flags:
test string:
select method:

exec

test

match

search

replace

split

dest regex: 
dest expression: 
return type: 
result: 
regex lastIndex: 

这就是微学网-程序员之家为你提供的"Javascript正则表达式测试网页"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/13314.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值