本文介紹在自定義PowerShell函數(shù)時(shí),輸入的參數(shù)是否合法可以通過(guò)正則表達(dá)式來(lái)進(jìn)行約束。正則表達(dá)式來(lái)約束輸入?yún)?shù),將使用ValidatePattern指令。
之前我們通過(guò)ValidateSet來(lái)作為參數(shù)的智能提示,其實(shí)它也起到了對(duì)參數(shù)輸入合規(guī)性的檢查。因?yàn)閂alidateSet是規(guī)定了一個(gè)輸入?yún)?shù)的范圍,不在這個(gè)范圍內(nèi)的參數(shù),一是不能智能提示,另外,即便是輸入了,它也無(wú)法通過(guò)函數(shù)的輸入?yún)?shù)合規(guī)性檢查,從而程序無(wú)法繼續(xù)執(zhí)行。
那么既然ValidateSet是以一個(gè)集合的形式來(lái)檢查輸入?yún)?shù),那么說(shuō)ValidatePattern是以正則表達(dá)式規(guī)則來(lái)對(duì)輸入?yún)?shù)進(jìn)行合規(guī)性檢查,那洪哥相信您一定能理解了。下面我們看一下怎么用正則表達(dá)式對(duì)輸入?yún)?shù)進(jìn)行合規(guī)性檢查:
復(fù)制代碼 代碼如下:
function Get-ZIPCode {
param(
[ValidatePattern('^\d{6}$')]
[String]
$ZIP
)
“Here is the ZIP code you entered: $ZIP”
}
上面是一個(gè)對(duì)輸入郵編進(jìn)行檢查的函數(shù),[ValidatePattern('^\d{6}$')]表示使用'^\d{6}$'這個(gè)正則表達(dá)式來(lái)檢查輸入?yún)?shù)的合規(guī)性?!癪\d{6}$”這個(gè)正則表達(dá)式的表示是6位數(shù)字,這就是郵編的格式。
所以,通過(guò)ValidatePattern這個(gè)指令,只要你懂正則表達(dá)式,那么你就可以對(duì)輸入?yún)?shù)的合規(guī)進(jìn)行強(qiáng)大的檢查,從而大大提高函數(shù)的安全性。
關(guān)于PowerShell函數(shù)使用正則表達(dá)式來(lái)對(duì)輸入?yún)?shù)進(jìn)行合規(guī)性檢查,本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
您可能感興趣的文章:- linux shell 正則表達(dá)式(BREs,EREs,PREs)差異比較
- PowerShell中使用正則表達(dá)式篩選數(shù)組實(shí)例
- PowerShell中使用正則表達(dá)式匹配字符串實(shí)例
- PowerShell使用正則表達(dá)式查找字符串實(shí)例
- PowerShell中使用正則表達(dá)式跨行匹配字符串的方法
- PowerShell中正則表達(dá)式使用例子
- Powershell學(xué)習(xí)筆記--使用正則表達(dá)式查找文件
- Shell正則表達(dá)式之grep、sed、awk實(shí)操筆記
- Shell正則表達(dá)式驗(yàn)證IP地址
- Shell腳本中通過(guò)正則表達(dá)式匹配IP地址
- Shell正則表達(dá)式學(xué)習(xí)筆記