Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31341
  • 博文数量: 16
  • 博客积分: 416
  • 博客等级: 下士
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-14 21:30
文章分类
文章存档

2011年(16)

我的朋友

分类: 系统运维

2011-06-14 22:36:30

  runze118

  每天都能看见你,留下你的宝贵意见,和建议,润泽将不胜感激... TABLE border=0 cellPadding=0 width="96%">

  

  

  

  

  

  

  


  

(佚名):Javascript正则表达式测试网页你平时如何测试正则表达式?直接写在大段的代码中,然后等待程序运行到那里,再用alert显示结果?或者是临时写一个页面,测试完成后把它丢掉?你可以试一下我这个页面,虽然它很粗糙,但是测试正则表达式也足够了:))一、说明:1.我的本意为交流技术.本人水平很菜.因此所贴出的代码中,会有不足之处.2.代码可任意修改.如果你觉得你修改过的代码比我的好,可将它贴出,我非常感谢.3.我对javascript的规范并不很熟悉.我的经验来自于开发.因此,若你对它有更好的见解,欢迎提出,我非常感谢.二、测试用例:1.检查字符串中是否有非数字的字符:testregex:\Dtestregexflags:gteststring:1234g56t78 2.检查字符串中是否有非0-9、a~z、A-Z、_的字符:testregex:\Wtestregexflags:gteststring:i'mapig!ye sI'm!3.匹配字符串中的实数:testregex:([\d]+])\.([\d]+)testregexflags:gtestst ring:float1234.58.723c65.183三、程序代码:!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Transitional/ /ENHTMLHEADTITLEJavascriptregextestpage/TITLEMETAHT TP-EQUIV=Content-TypeCONTENT=text/html;charset=GB23 12SCRIPT/***Method测试正则表达式函数@parammethod接收到的正则表达式类的方法*/functioncheck(method){//将用户输入的正则表达式的标志转换为小写form1.flags.value=form1.flags.value.toLowerCase(); //如果含有不是g、i、m的字符,则提示并返回if(form1.flags.value.search(/[^g|i|m]/g)!=-1){aler t(flagsonlycanbeg,i,m);return;}//利用用户输入的字符串和标志建立正则表达式varre=newRegExp(form1.regex.value,form1.flags.valu e);//获得并显示生成的正则表达式的字符串形式destRegex.innerText=re.toString()+'';//定义返回值varcr;ex=newRegExp('+form1.regex.value+','+form1.f lags.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.strin g.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.strin g.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);//定义结果varresult=';if(cr!=nulltypeof(cr)=='object'cr.leng th!=null)//如果计算结果是一个数组,则取出所有数组的值{for(i=0;icr.length;i++){result+=array[+i+]='+cr[i ]+'\n;}}elseif(cr!=null)//如果计算结果不为null,则取出计算结果的值{result=cr;}//获得并显示结果matchResult.innerText=result+'';//获得并显示正则表达式的lastIndex属性lastIndex.innerText=re.lastIndex+'';}/SCRIPT/HEADB ODYALIGN=CENTERFORMNAME=form1METHOD=postACTION=ALIG N=CENTERTABLEBORDER=1TRTDCOLSPAN=2ALIGN=CENTERtestj avascriptregex/TD/TRTRTDtestregex:/TDTDINPUTNAME=re gexTYPE=text/TD/TRTRTDtestregexflags:/TDTDINPUTNAME =flagsTYPE=textID=flags/TD/TRTRTDteststring:/TDTDIN PUTNAME=stringTYPE=text/TD/TRTRTDselectmethod:/TDTD ALIGN=CENTERSELECTNAME=selectonChange=check(this.va lue)OPTIONVALUE=0exec/OPTIONOPTIONVALUE=1test/OPTIO NOPTIONvalue=34match/OPTIONOPTIONVALUE=3search/OPTIO NOPTIONVALUE=4replace/OPTIONOPTIONVALUE=5split/OPTI ON/SELECTINPUTVALUE='run'onclick=check(form1.select .value)TYPE=button/TD/TRTRTDdestregex:/TDTDSTYLE=co lor:blueID=destRegexnbsp;/TD/TRTRTDdestexpression:/ TDTDSTYLE=color:blueID=expressionnbsp;/TDTRTRTDretu rntype:/TDTDSTYLE=color:darkredID=returnTypenbsp;/T D/TRTRTDresult:/TDTDSTYLE=color:redID=matchResultnb sp;/TD/TRTRTDregexlastIndex:/TDTDSTYLE=color:redID= lastIndexnbsp;/TD/TR/TABLE/FORM/BODY/HTML



  

阅读(941) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~