学习正则帮手笨狼正则练习器

    <HTML>
    <HEAD>
    <TITLE>笨狼正则练习器_www.lingkb.comlingkb </TITLE>
    <style>
    body 
    {
        font-size:12;
        BACKGROUND: #DADADA;
        margin-left:20;
    }

    #blockORG
    {

        font-family:Verdana;
        font-size:12px;    
        overflow:scroll;
        height:300;

    }
    #fileORG
    {
        width:400;
    }
    #blockReg
    {
        font-family:Verdana;
        font-size:12px;
    }    
    #showMe
    {    
        font-family:Verdana;
        font-size:12px;    
        height:200;
        overflow:visible;
    }    
    #replaceVar
    {    
        font-family:Verdana;
        font-size:12px;
        top:341;    
    }
    #isScriptDIV
    {
        position:absolute;    
        top:361;    
        overflow-x:visible;    
    }

    </style>
    </HEAD>

    <BODY>
    <INPUT type=”file” id=”fileORG” onchange = “vbs:showORG”/>
    <button  onclick = “vbs:showORG” >载入</button>
    <input type=”checkbox” id=”Imode” checked />忽略大小写
    <input type=”checkbox” id=”Gmode” checked />全局&nbsp;
    <button  onclick = “vbs:back” >清空</button>
    <button  onclick = “vbs:saveFile” >保存</button><br/>
    <textArea id=”blockORG”></textArea><br/>
    表达式:<input id=”blockReg” /><br/>
    替换为:<input id=”replaceVar” /><input type=”hidden” id=”jsvalue” />
    <div id=”isScriptDIV”>
        <button  id=”normal” onclick=”vbs:gogogo”>普通替换</button>
        <button  id=”isVBS” onclick=”vbs:gogogo” >vbs表达式替换</button>
        <button  id=”isJS”  onclick=”vbs:gogogo”>js表达式替换</button>
    </div>
    <textArea id=”showMe” ></textArea>
    <SCRIPT LANGUAGE=”vbScript”> 
    ‘设置窗体尺寸
        window.resizeTo window.screen.availWidth,window.screen.availHeight 
        window.moveTo 0,0  
        blockORG.style.width = cint(window.screen.availWidth * 0.94)
        blockReg.style.width = px2Int(blockORG.style.width )-100

        replaceVar.style.width = px2Int(blockReg.style.width)-400    

        isScriptDIV.style.left =   px2Int(replaceVar.style.width) +100
        showMe.style.width = blockORG.style.width

        dim fso ,Re 
        set Re = new RegExp 
        set fso = createObject(“Scripting.FileSystemObject”)
        dim replaceStr

        dim thisFileDir’定义本文件绝对路径
        dim thisFileName’定义本文件名
        dim thisFileFolder’定义本文件夹路径    

        thisFileDir = replace(window.location.href,”file:///”,””)
        thisFileDir = unescape(replace(thisFileDir,”/”,”\”))     
        thisFileName = LastOne(thisFileDir,”\”)    
        thisFileFolder=getFolderDir(thisFileDir)

    sub showORG()
    ‘在文本框内加载文件    
    dim f,ts,s
        if fso.FileExists(fileORG.value)  then        
            set f = fso.GetFile(fileORG.value)
            set ts = f.OpenAsTextStream(1)
            s=””
            if not ts.AtEndOfStream then            
                s = ts.ReadAll 
            end if
            ts.Close     
            blockORG.value = s            
        end if            
    end sub

    Function LastOne(Str,splitStr)
    ‘输入字符和分隔符,得到最后一部分
        LastOne = right(Str,len(Str)-InStrRev(Str,splitStr))
    End Function

    function getFolderDir(fullDir)
    ‘输入得到全路径,得到文件夹路径
        s=LastOne(fullDir,”\”)
        getFolderDir = left(fullDir,len(fullDir)-len(s))
    end function

    function px2Int(px)
        px2Int = cint(replace(px,”px”,””))
    end function 

    sub gogogo()    
        Re.IgnoreCase = Imode.checked
        Re.Global =   Gmode.checked
        Re.Pattern = blockReg.value
        replaceStr = replaceVar.value
        select case window.event.srcElement.id    
        case “isVBS”
            replaceStr = eval(replaceStr)
        case “isJS”     
            window.execScript “jsvalue.value=eval(replaceVar.value);”,”javaScript” 
            replaceStr = jsvalue.value    
        end select
        showMe.value = Re.Replace(blockORG.value,replaceStr)
    end sub

    sub back
        showMe.value = “”
    end sub

    sub saveFile        
        if fso.FileExists(fileORG.value)  then        
            set f = fso.GetFile(fileORG.value)
            f.copy fileORG.value & makeRand() & “.bak”‘创建备份
            set ts = f.OpenAsTextStream(2)
            ts.write showMe.value
            ts.Close
            blockORG.value = showMe.value    
        else
            set ts = fso.OpenTextFile(thisFileFolder & makeRand() & “.txt”,2,true)
            ts.write showMe.value
            ts.Close
            blockORG.value = showMe.value
        end if    
    end sub

    function makeRand()
        dim resault
        resault = mid(cstr(now()),3)
        resault =replace(resault,”:”,””)
        resault =replace(resault,”-“,””)
        resault =replace(resault,” “,””)
        makeRand = resault
    end function

    </SCRIPT>
    </BODY>
    </HTML>
    笨狼正则练习器.hta