注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

汇总技巧

你快乐我快乐.... 汇集各类技巧,传播技巧,让我们共同熟练运用技巧..

 
 
 

日志

 
 

(佚名):&#106avascript正则表达式测试网页  

2011-05-30 18:14:30|  分类: ◆ASP技巧 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
TABLE border=0 cellPadding=0 width="96%">
<TBODY>
<TR>
<TD>
<TABLE id=table168 border=0 cellPadding=0>
<TBODY>
<TR>
<TD> </TD></TR></TBODY></TABLE>
<P style="TEXT-INDENT: 2em">(佚名):Javascript正则表达式测试网页你平时如何测试正则表达式?直接写在大段的代码中,然后等待程序运行到那里,再用alert显示结果?或者是临时写一个页面,测试完成后把它丢掉?你可以试一下我这个页面,虽然它很粗糙,但是测试正则表达式也足够了:))一、说明:1.我的本意为交流技术.本人水平很菜.因此所贴出的代码中,会有不足之处.2.代码可任意修改.如果你觉得你修改过的代码比我的好,可将它贴出,我非常感谢.3.我对javascript的规范并不很熟悉.我的经验来自于开发.因此,若你对它有更好的见解,欢迎提出,我非常感谢.二、测试用例:1.检查字符串中是否有非数字的字符:testregex:\Dtestregexflags:gteststring:1234g56t782.检查字符串中是否有非0-9、a~z、A-Z、_的字符:testregex:\Wtestregexflags:gteststring:i'mapig!yesI'm!3.匹配字符串中的实数:testregex:([\d]+])\.([\d]+)testregexflags:gteststring:float1234.58.723c65.183三、程序代码:!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Transitional//ENHTMLHEADTITLEJavascriptregextestpage/TITLEMETAHTTP-EQUIV=Content-TypeCONTENT=text/html;charset=GB2312SCRIPT/***Method测试正则表达式函数<A href="mailto:@parammethod接收到的正则表达式类的方法*/functioncheck(method)%7B//将用户输入的正则表达式的标志转换为小写form1.flags.value=form1.flags.value.toLowerCase();//如果含有不是g、i、m的字符,则提示并返回if(form1.flags.value.search(/[%5Eg%7Ci%7Cm]/g)!=-1)%7Balert(flagsonlycanbeg,i,m);return;%7D//利用用户输入的字符串和标志建立正则表达式varre=newRegExp(form1.regex.value,form1.flags.value);//获得并显示生成的正则表达式的字符串形式destRegex.innerText=re.toString()+'';//定义返回值varcr;ex=newRegExp('+form1.regex.value+','+form1.flags.value+').;//根据用户选择的方法,进行相应的调用switch(method)%7Bcase'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">@parammethod接收到的正则表达式类的方法*/functioncheck(method){//将用户输入的正则表达式的标志转换为小写form1.flags.value=form1.flags.value.toLowerCase();//如果含有不是g、i、m的字符,则提示并返回if(form1.flags.value.search(/[^g|i|m]/g)!=-1){alert(flagsonlycanbeg,i,m);return;}//利用用户输入的字符串和标志建立正则表达式varre=newRegExp(form1.regex.value,form1.flags.value);//获得并显示生成的正则表达式的字符串形式destRegex.innerText=re.toString()+'';//定义返回值varcr;ex=newRegExp('+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</A>='+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);//定义结果varresult=';if(cr!=nulltypeof(cr)=='object'cr.length!=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/HEADBODYALIGN=CENTERFORMNAME=form1METHOD=postACTION=ALIGN=CENTERTABLEBORDER=1TRTDCOLSPAN=2ALIGN=CENTERtestjavascriptregex/TD/TRTRTDtestregex:/TDTDINPUTNAME=regexTYPE=text/TD/TRTRTDtestregexflags:/TDTDINPUTNAME=flagsTYPE=textID=flags/TD/TRTRTDteststring:/TDTDINPUTNAME=stringTYPE=text/TD/TRTRTDselectmethod:/TDTDALIGN=CENTERSELECTNAME=selectonChange=check(this.value)OPTIONVALUE=0exec/OPTIONOPTIONVALUE=1test/OPTIONOPTIONVALUE=2match/OPTIONOPTIONVALUE=3search/OPTIONOPTIONVALUE=4replace/OPTIONOPTIONVALUE=5split/OPTION/SELECTINPUTVALUE='run'onclick=check(form1.select.value)TYPE=button/TD/TRTRTDdestregex:/TDTDSTYLE=color:blueID=destRegexnbsp;/TD/TRTRTDdestexpression:/TDTDSTYLE=color:blueID=expressionnbsp;/TDTRTRTDreturntype:/TDTDSTYLE=color:darkredID=returnTypenbsp;/TD/TRTRTDresult:/TDTDSTYLE=color:redID=matchResultnbsp;/TD/TRTRTDregexlastIndex:/TDTDSTYLE=color:redID=lastIndexnbsp;/TD/TR/TABLE/FORM/BODY/HTML</P></TD></TR></TBODY></TABLE>
  评论这张
 
阅读(88)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017