正则表达式测试工具模仿

这篇博客讲述了作者仿写在线正则表达式测试工具的过程,包括HTML表单和CSS样式的设定,JavaScript部分涉及获取document、正则表达式验证、模式修饰符的添加以及空输入的错误提示。主要步骤涵盖了从界面设计到功能实现的各个环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习进入下个阶段,对在线正则表达式测试工具进行仿写.
原版链接如下:正则表达式 – 开源中国测试工具
 

一、HTML表单格式及CSS样式

详细略

关键点1

HTML结构及ID、class、value名称设置

<div id="regexp">
		<h1 class="">XXXXXX</h1>
		<textarea id="" class="" placeholder=""></textarea>
		<p>
			XXXXXX<input type="" id="" class="" placeholder="XXXXXX"/>
			<input type="checkbox" name="" value="i"/>XXXXX
			<input type="checkbox" name="" value="g"/>XXXXX
			<input type="checkbox" name="" value="m"/>XXXXX
			<input type="button" id="" value="XXXXX"/>
		</p>
		XXXXXXX
		<textarea id="" class="" disabled="disabled" ></textarea>
	</div>
关键点2

CSS样式中,有关固定对话框大小,不能拖动鼠标改变大小的设置

resize:none;

 

二、JavaScript

1、定义获取document

详细略

2、添加正则表达式

定义变量,效验正则表达式userRegExp.value是否匹配

var pattern;
//在点击按钮执行函数:
matchingBtn.onclick = function(){
	//效验正则表达式userRegExp.value是否匹配
	pattern = new RegExp(userRegExp.value,modifier);
	//如果待匹配的文本userText.value中有匹配的,在matchingResult.value中显示匹配,否则matchingResult.value中显示为“没有匹配”
	matchingResult.value = pattern.exec(userText.value) || '没有匹配';	
		}

以上整个正则表达式测试工具的主体已经完成,现在已经可以进行查找了,下面进行正则表达式igm的添加

3、添加模式修饰符

通过复对选框添加点击事件来添加模式修饰符,现在进行循环设置。

var	modifier='';
for (var i = 0;i < userModifier.length;i++){
	 userModifier[i].onclick = function(){
	 //每次循环之前都要清空,需要重新计算,否则会循环累加
		  modifier = '';
		  //每次被点击都需要再循环,判断3个是否被选中
		  for (var j = 0; j < userModifier.length;j++){
			   if(userModifier[j].checked){
			   //ture是已经被勾上的情况下,需累加到模式修饰符上去
				    modifier+=userModifier[j].value;
			   }
		  }
	 }
}

现在全部设计已经完成,整个页面只要添加一点修饰就可以

4、为空报错

验证输入框中的内容是否为空,为空时报错

if(!userText.value){
		//userText.value是不存在的情况下
		alert('请输入待匹配的文本!');
		userText.focus();
		return;
}
if(!userRegExp.value){
		//userRegExp.value是不存在的情况下
		alert('请输入待匹配的文本正则表达式!');
		userRegExp.focus();
		return;
}

以上完成

Regex Testor Version 1.02 Copyright (c) 2013 Fiery Red - flameleo 我们在使用正则表达式( regex: regular expression )的过程中,经常发现正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。对于刚接触正则表达式的人来说多练习,多使用,才能熟练掌握正则表达式。 由于难于读写,容易出错,且需要反复练习。所以找一种工具对正则表达式对我们脑中构思的regex进行测试是很有必要的。 1.特点 a.适合初学者,在不断测试用学习如何使用正则表达式。 b.可以分组保存,测试中用到的正则表达式。 c.本工具使用最常见的regex。以下是简单示例: a|b Matches a or b gr(a|e)y Matches a or e . Matches any single character [abc] Matches a single character a, b or c [^abc] Matches any single character except a, b or c [a-z] Matches a single charactor in the range a to z [a-zA-Z] Matches a single charactor in the range a to z or A to Z ^ Matches the start of the filename $ Matches the end of the filename * Matches the preceding element zero or more times ? Matches the preceding element zero or one times + Matches the preceding element one or more times {x} Matches the preceding element x times {x,} Matches the preceding element x or more times {x,y} Matches the preceding element between x and y times 值得一提的是()代表子匹配,有些环境中gr(a|e)y Matches gray or grey 还支持许多常见的转义字符 \b,\B,\c,\d,\D,\f,\n,\r,\s,\S,\t,\v,\w,\W,\x,\u 具体详见附件 Regular Expression Syntax1.html 2.功能介绍 a.界面上显示提供regex输入框和原文本框,点击[模式匹配]按钮后,会在右侧输出结果,包括匹配字符串列表和文本。 b.对于测试中一些有用的regex,点击[insert]按钮添加到模式列表,以备日后使用。你可以位该regex添加描述分组,该信息会在程序结束后保存在CustomPatternInfo.ini文件中。 c.可以参考Readme_1.jpq和Readme_2.jpq图片介绍。 3.有待改进 a.界面布局和控件友好型和交互性。 b.界面功能提供regex语法支持。(暂时可以通过导入附件RegexSystax.ini到CustomPatternInfo.ini中) 4.意见反馈 a.请将您的宝贵意见反馈到 FieryRed_2012@163.com 附件: Readme.txt Readme_1.jpg Readme_2.jpg Regular Expression Syntax.html RegexSystax.ini
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值