當(dāng)前位置: 首頁(yè)IT技術(shù) → 教你使用規(guī)則公式簡(jiǎn)化你的代碼

教你使用規(guī)則公式簡(jiǎn)化你的代碼

更多

本文分線給大家的是關(guān)于ASP用規(guī)則公式確認(rèn)表單輸入的實(shí)例分享,教你使用規(guī)則公式簡(jiǎn)化你的代碼,希望對(duì)各位有用。

一、引言

    寫(xiě)表單代碼是我們經(jīng)常要做的事情,并且常常變得非常復(fù)雜和凌亂。這篇文章將介紹如何用規(guī)則公式來(lái)簡(jiǎn)化你的代碼。

  二、提出問(wèn)題

    書(shū)寫(xiě)表單確認(rèn)代碼不僅僅是檢查是否空值或?qū)ふ姨囟〝?shù)據(jù)類(lèi)型的問(wèn)題,事情可能要比這雜亂得多。一個(gè)簡(jiǎn)單的例子,要求用戶(hù)輸入E-mail地址。你需要確定用戶(hù)是否輸入的是如a@b.c的形式,而不是別的。這個(gè)問(wèn)題就會(huì)很復(fù)雜。

  三、解決方法

    歸結(jié)一點(diǎn),就是使用正則表達(dá)式?赡苁且?yàn)閡inx平臺(tái)在它一開(kāi)始就支持這項(xiàng)技術(shù),所以微軟毫無(wú)吹捧地把它解釋為腳本平臺(tái)。下面是微軟的定義: 

    正則表達(dá)式是由普通字符(如,字母a到z)和特殊字符(如元字符)組成的文本樣式。樣式描述一個(gè)或多個(gè)用來(lái)匹配的字符串。規(guī)則樣式是和搜索出的字串進(jìn)行匹配的模板。

  四、例子

    微軟的語(yǔ)法檢測(cè)做得不錯(cuò)。但是,如期望的,在實(shí)際例子上,它們很短。下面是簡(jiǎn)單的例子:

  例1:

Function ValidateEmail(Expression)
   Dim objRegExp
   Set objRegExp = New RegExp
   objRegExp.Pattern = "^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$"
   ValidateEmail = objRegExp.Test(Expression)
End Function

    例1是一個(gè)檢測(cè)e-mail地址的例子。初看之下,樣式字串很亂,實(shí)際上一點(diǎn)也不。讓我們來(lái)仔細(xì)研究一下它的每個(gè)元素。

    ^ - 表示從輸入的第一個(gè)字符開(kāi)始查找匹配的字符。

    [\w\.-]+ - 中括號(hào)表示字符的范圍。"\w"表示可以是任何命令字符包括下劃線,相當(dāng)于"[A-Za-z0-9_]"。"\."表示增加句點(diǎn)到字符范圍內(nèi)。句點(diǎn)是一個(gè)特殊的符號(hào),這也是我們?yōu)槭裁匆砑又欣ㄌ?hào)的原因。"-"表示添加連字符到字符范圍。"+"表示匹配前面的符號(hào)一次或多次。

    @ - 顯而易見(jiàn),我們?cè)谶@里需要看到"@"字符。

    [\w\.-]+ - 我們已經(jīng)看見(jiàn)過(guò)一次了,如上所述。

    \. - 在這里我們需要看到"."字符。

    [a-zA-Z]+ - 這里我們可以用"\w"來(lái)代替。但是據(jù)我所知,在一級(jí)域名中(.com,.net,等等)沒(méi)有使用數(shù)字和下劃線的。

    $ - "$"字符表示結(jié)束。

  例2:

Function ValidateSSN(Expression)
   Dim objRegExp
   Set objRegExp = New RegExp
   objRegExp.Pattern = "^\d{3}-\d{2}-\d{4}$"
   ValidateSSN = objRegExp.Test(Expression)
End Function

    例2是一個(gè)公用密鑰合法性檢查的例子。"\d{3}"語(yǔ)法表示檢查是否為三位數(shù)。其它的就很simple了。

  五、總結(jié)

    正如你從例子中所看到的,使用規(guī)則公式可以簡(jiǎn)化你的代碼。唯一難點(diǎn)就是學(xué)習(xí)樣式語(yǔ)法。希望我的例子可以激發(fā)你使用這項(xiàng)功能強(qiáng)大的技術(shù)!

熱門(mén)評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱(chēng):
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)