教你使用規(guī)則公式簡化你的代碼
本文分線給大家的是關于ASP用規(guī)則公式確認表單輸入的實例分享,教你使用規(guī)則公式簡化你的代碼,希望對各位有用。
一、引言
寫表單代碼是我們經常要做的事情,并且常常變得非常復雜和凌亂。這篇文章將介紹如何用規(guī)則公式來簡化你的代碼。
二、提出問題
書寫表單確認代碼不僅僅是檢查是否空值或尋找特定數據類型的問題,事情可能要比這雜亂得多。一個簡單的例子,要求用戶輸入E-mail地址。你需要確定用戶是否輸入的是如a@b.c的形式,而不是別的。這個問題就會很復雜。
三、解決方法
歸結一點,就是使用正則表達式?赡苁且驗閡inx平臺在它一開始就支持這項技術,所以微軟毫無吹捧地把它解釋為腳本平臺。下面是微軟的定義:
正則表達式是由普通字符(如,字母a到z)和特殊字符(如元字符)組成的文本樣式。樣式描述一個或多個用來匹配的字符串。規(guī)則樣式是和搜索出的字串進行匹配的模板。
四、例子
微軟的語法檢測做得不錯。但是,如期望的,在實際例子上,它們很短。下面是簡單的例子:
例1:
Function ValidateEmail(Expression)
Dim objRegExp
Set objRegExp = New RegExp
objRegExp.Pattern = "^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$"
ValidateEmail = objRegExp.Test(Expression)
End Function
例1是一個檢測e-mail地址的例子。初看之下,樣式字串很亂,實際上一點也不。讓我們來仔細研究一下它的每個元素。
^ - 表示從輸入的第一個字符開始查找匹配的字符。
[\w\.-]+ - 中括號表示字符的范圍。"\w"表示可以是任何命令字符包括下劃線,相當于"[A-Za-z0-9_]"。"\."表示增加句點到字符范圍內。句點是一個特殊的符號,這也是我們?yōu)槭裁匆砑又欣ㄌ柕脑颉?quot;-"表示添加連字符到字符范圍。"+"表示匹配前面的符號一次或多次。
@ - 顯而易見,我們在這里需要看到"@"字符。
[\w\.-]+ - 我們已經看見過一次了,如上所述。
\. - 在這里我們需要看到"."字符。
[a-zA-Z]+ - 這里我們可以用"\w"來代替。但是據我所知,在一級域名中(.com,.net,等等)沒有使用數字和下劃線的。
$ - "$"字符表示結束。
例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是一個公用密鑰合法性檢查的例子。"\d{3}"語法表示檢查是否為三位數。其它的就很simple了。
五、總結
正如你從例子中所看到的,使用規(guī)則公式可以簡化你的代碼。唯一難點就是學習樣式語法。希望我的例子可以激發(fā)你使用這項功能強大的技術!