用規則公式確認表單輸入

來源:互聯網
上載者:User
一、引言
寫表單代碼是我們經常要做的事情,並且常常變得非常複雜和淩亂。這篇文章將介紹如何用規則公式來簡化你的代碼。
二、提出問題
書寫表單確認代碼不僅僅是檢查是否空值或尋找特定資料類型的問題,事情可能要比這雜亂得多。一個簡單的例子,要求使用者輸入E-mail地址。你需要確定使用者是否輸入的是如a@b.c的形式,而不是別的。這個問題就會很複雜。
三、解決方案
歸結一點,就是使用Regex。可能是因為uinx平台在它一開始就支援這項技術,所以微軟毫無吹捧地把它解釋為指令碼平台。下面是微軟的定義:
Regex是由一般字元(如,字母a到z)和特殊字元(如元字元)組成的文本樣式。樣式描述一個或多個用來匹配的字串。規則樣式是和搜尋出的字串進行匹配的模板。
四、例子
微軟的文法檢測做得不錯。但是,如期望的,在實際例子上,它們很短。下面是簡單的例子:
'例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_]"。"\."表示增加句點到字元範圍內。句點是一個特殊的符號,這也是我們為什麼要添加中括弧的原因。"-"表示添加連字號到字元範圍。"+"表示匹配前面的符號
一次或多次。
@ - 顯而易見,我們在這裡需要看到"@"字元。
[\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了。
五、總結
正如你從例子中所看到的,使用規則公式可以簡化你的代碼。唯一痛點就是學習樣式文法。希望我的例子可以激發你使用這項功能強大的技術!



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。