来源:www.cncfan.com | 2006-10-30 | (有3497人读过)
VBS正则表达式函数 主要用在asp中效果明显 1、表单验证功能
CODE代码:[复制此代码] Function Validate(strng,patrn) Dim regEx Set regEx = New RegExp regEx.Pattern = patrn regEx.IgnoreCase = True regEx.Global = True Validate = regEx.test(strng) Set regEx = Nothing End Function 使用例子 If Validate(Fdr.Name,"F\d{4}_P\d{4}")=True Then ... ... End If
HTML代码:<input name=jb51 value="13003523068"> <button onclick=checkit(jb51.value)>测试</button> <script language=vbscript> function check(str) dim re set re=new regexp re.global=true re.ignorecase=true re.pattern="1[3|5]\d{9}" check=re.test(str) set re=nothing end function
sub checkit(str) if check(str)=true then msgbox "是手机" else msgbox "不是手机" end if end sub </script>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 2、替换功能
CODE代码:[复制此代码]
'========================== '用正则表达式实现替换 '========================== function replaceregex(patern,str,tagstr) dim regex,matches set regex=new regExp regex.pattern=patern regex.IgnoreCase=true regex.global=true matches=regex.replace(str,tagstr) replaceregex=matches end function
3、ubb功能 ubbcode.asp
CODE代码:[复制此代码]
<% Function UBBCode(strContent) If isEmpty(strContent) Or isNull(strContent) Then Exit Function Else dim regex,strMatch set regex=new RegExp regex.IgnoreCase =True regex.Global=True regex.Pattern="\[html\]((\r\n)?([\s\S]+?))\[\/html\]" Set strMatchs=regex.Execute(strContent) For Each strMatch in strMatchs 'response.write strMatch.SubMatches(3) Randomize rndID="runcode"&Int(100000 * Rnd) strContent=Replace(strContent,strMatch.Value,"<br/><font color=red>HTML代码:</font><TEXTAREA style=""width:96%; height:300px;"" id="""&rndID&""" class=""htmlarea"">"&UBBFilter(HTMLDecode(strMatch.SubMatches(2)))& "</TEXTAREA><br/><INPUT onclick=""runEx('"&rndID&"')"" type=""button"" value=""运行此代码""/> <INPUT onclick=""doCopy("&rndID&")"" type=""button"" value=""复制此代码""/> <INPUT onclick=""doSave("&rndID&")"" type=""button"" value=""保存代码""/><br/> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]") Next Set strMatchs=nothing '去空行 regex.pattern="\n[\s]*\r" Set strMatchs=regex.Execute(strContent) For Each strMatch in strMatchs strContent=Replace(strContent,strMatch.Value,"") Next '代码块 regex.Pattern="\[code\]((\r\n)?([\s\S]+?))\[\/code\]" Set strMatchs=regex.Execute(strContent) For Each strMatch in strMatchs Randomize rndID="code"&Int(100000 * Rnd) strContent=Replace(strContent,strMatch.Value,"<br/><div style=""float:left""><font color=green>CODE代码:</font></div><div style=""float:right;text-align:right;"">[<a href=""javascript:void(null)"" onclick=""doCopy("&rndID&")"">复制此代码</a>]</div><br/><div class=""codetextarea"" id="""&rndID&""">"&strMatch.SubMatches(2)&"</div>") Next Set strMatchs=nothing '实现插入影音文件 regex.Pattern="\[(swf|wma|wmv|rm|ra|qt)(=\d*?|)(,\d*?|)\]([^<>]*?)\[\/(swf|wma|wmv|rm|ra|qt)\]" Set strMatchs=regex.Execute(strContent) dim strType,strWidth,strHeight,strSRC,TitleText For Each strMatch in strMatchs RAndomize strType=strMatch.SubMatches(0) if strType="swf" then TitleText="<img src=""../images/flash.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>Flash动画" elseif strType="wma" then TitleText="<img src=""../images/music.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放音频文件" elseif strType="wmv" then TitleText="<img src=""../images/mediaplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放视频文件" elseif strType="rm" then TitleText="<img src=""../images/realplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放real视频流文件" elseif strType="ra" then TitleText="<img src=""../images/realplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放real音频流文件" elseif strType="qt" then TitleText="<img src=""../images/mediaplayer.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>播放mov视频文件" end if strWidth=strMatch.SubMatches(1) strHeight=strMatch.SubMatches(2) if (len(strWidth)=0) then strWidth="400" else strWidth=right(strWidth,(len(strWidth)-1)) end if if (len(strHeight)=0) then strHeight="300" else strHeight=right(strHeight,(len(strHeight)-1)) end if strSRC=strMatch.SubMatches(3) rndID="temp"&Int(100000 * Rnd) strContent= Replace(strContent,strMatch.Value,"<div class=""UBBPanel""><div class=""UBBTitle"">"&TitleText&"</div><div class=""UBBContent""><a id="""+rndID+"_href"" href=""javascript:MediaShow('"+strType+"','"+rndID+"','"+strSRC+"','"+strWidth+"','"+strHeight+"')""><img name="""+rndID+"_img"" src=""../images/mm_snd.gif"" style=""margin:0px 3px -2px 0px"" border=""0"" alt=""""/><span id="""+rndID+"_text"">在线播放</span></a><div id="""+rndID+"""></div></div></div>") Next Set strMatchs=nothing regex.Pattern="(\[mid\])(.[^\]]*)\[\/mid\]" strContent= regex.Replace(strContent,"<embed src=""$2"" height=""45"" width=""314"" autostart=""0""></embed>") regex.pattern="<br>([\s| | ]*)?<br>" strContent=regex.replace(strContent,"<br>") strContent=replace(strContent,"&","&") strContent=replace(strContent,"'","'") strContent=replace(strContent,"","") '因为以前上传图片 set regex=nothing end if UBBCode=strContent end function %>
基本上来自pjhome
|