PowerShell函数使用正则表达式验证输入参数实例_PowerShell

本文介绍在自定义PowerShell函数时,输入的参数是否合法可以通过正则表达式来进行约束。正则表达式来约束输入参数,将使用ValidatePattern指令。

之前我们通过ValidateSet来作为参数的智能提示,其实它也起到了对参数输入合规性的检查。因为ValidateSet是规定了一个输入参数的范围,不在这个范围内的参数,一是不能智能提示,另外,即便是输入了,它也无法通过函数的输入参数合规性检查,从而程序无法继续执行。

那么既然ValidateSet是以一个集合的形式来检查输入参数,那么说ValidatePattern是以正则表达式规则来对输入参数进行合规性检查,那洪哥相信您一定能理解了。下面我们看一下怎么用正则表达式对输入参数进行合规性检查:

复制代码 代码如下:

function Get-ZIPCode {
    param(
        [ValidatePattern('^\d{6}$')]
        [String]
        $ZIP
    )
    “Here is the ZIP code you entered: $ZIP”
}

上面是一个对输入邮编进行检查的函数,[ValidatePattern('^\d{6}$')]表示使用'^\d{6}$'这个正则表达式来检查输入参数的合规性。“^\d{6}$”这个正则表达式的表示是6位数字,这就是邮编的格式。

所以,通过ValidatePattern这个指令,只要你懂正则表达式,那么你就可以对输入参数的合规进行强大的检查,从而大大提高函数的安全性。

关于PowerShell函数使用正则表达式来对输入参数进行合规性检查,本文就介绍这么多,希望对您有所帮助,谢谢!

时间: 2024-10-25 20:46:18

PowerShell函数使用正则表达式验证输入参数实例_PowerShell的相关文章

PowerShell函数中使用必选参数实例_PowerShell

本文介绍在PowerShell创建自定义函数时,如何添加必选参数,可以使用Mandatory关键词. 默认情况下,PowerShell自定义的函数中,参数都是可选的(optional).如果要将一个参数设置为必选参数,那么必须对其设置Mandatory声明. 复制代码 代码如下: function Test-Function {     param(         [Parameter(Mandatory=$true)]         $p1,         $p2='p2'     )

Android常用正则表达式验证工具类(实例代码)

东西不多,但一般项目够用了. public class RegularUtil { //身份证 public static final String REGEX_ID_CARD = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$"; //验证邮箱 public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\

Javascript中验证输入参数

javascript Javascript的函数声明中的参数列表并不意味着什么--它们纯粹是为了方便访问这些参数而放在那里的,而并没有限制调用者怎么传参数,调用者想怎么传就怎么传,只要脚本不出错-- 所有,有时候为了保证程序的健壮性,需要实现输入参数的验证和默认的输入参数.这几天学习的过程中恰好写了一些简单的解决方案,放在这里做备份. 首先是验证类型的合法性: function validateType( obj, type) {  if (!(obj instanceof type)) {  

C# 中如何用正则表达式验证输入

问题描述 我想用正则表达式验证用户的输入.用户的输入中不能包括'和''(单引号和双引号).我用newRegex("[^"']").IsMatch(strInput)来验证.可为什么类似a'这样的输入也能验证通过呢?这种输入里有',验证失败才对啊.望大家给点建议.先谢谢各位了-! 解决方案 解决方案二:模式没写对解决方案三:噢.应该怎么写阿?解决方案四:Regex(@"^(.*?[^"'])$")解决方案五:在KeyPress事件里if(e.Key

Powershell小技巧之等待输入一个按键_PowerShell

支持所有PS版本,仅支持PS控制台. 当一个脚本使用PS控制台启动时,你可能想要在中间穿插一个"输入任意键".这里有一个方法可以实现: Write-Host 'Press Any Key!' -NoNewline $null = [Console]::ReadKey('?') 这只能正常运行在PS控制台.它将不能运行在ISE编辑器或任何其它PS编辑器,它们没有在真实控制台的将没有键盘交互效果. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎

Powershell使用WPF技术实现弹窗提示实例_PowerShell

WPF (Windows Presentation Foundation) 技术能让你创建窗口和对话框.它的优势是在窗体设计时能与代码分开. 这里有个简单的显示弹出消息练习.这个消息是定义在XAML代码中它的实现类似HTML(但是请区分大小写).你能轻松的调整字体大小,内容,颜色等等.不需要嵌入任何代码. 复制代码 代码如下: $xaml = @"<Window xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation

PowerShell中的TimeSpan时间差对象使用实例_PowerShell

TimeSpan对象表示一个时间差,比如今天的10点10分,和明天的12点12分,就差1天2小时2分.这个"1天2小时2分"就是一个TimeSpan.这个东西有什么用呢?小编之前在做一个小东西的时候,需要评估一下两个不同的方法看哪个效率更高.于是小编在程序开始的时候,设置一个起始时间,在程序结束的时候再设置一个结束时间,然后两个时间一相减,得到一个时间差,洪哥以时间差小者为优. 下面是几个使用TimeSpan对象的例子: 创建一个TimeSpan对象,表示1天3小时 复制代码 代码如下

PowerShell函数中使用$PSBoundParameters获取输入参数列表实例_PowerShell

本文介绍在自定义PowerShell函数时,有一个$PSBoundParameters的变量可以获取到输入参数列表.获取输入参入列表对我们进行功能调试有很大的帮助. 当我们在执行一个函数时,可以使用输入参数的值,但我在PowerShell中,参数有的是必选,有的是可选,那么我们怎么知道用户真实的输入了哪些参数呢? 在PowerShell函数中,有一个全局变量$PSBoundParameters,它是一个Hash表,里面保存了所有的输入参数和输入参数的值.通过输出这个变量,我们就可以看到所有的输入

js正则表达式 验证百分数,要求只能输入0%-100% 之间的数

问题描述 js正则表达式 验证百分数,要求只能输入0%-100% 之间的数 填写举例:0%.50%.100%,可能是0%-100%其中的任何数字,最多小数点后保留2位,例如97.51%/98.32%.? 解决方案 ^(100|[1-9]d|d)(.d{1,2})?%$ 解决方案二: Js中运用正则表达式验证输入是否有特殊字符 . 解决方案三: ^(100|[1-9]d|d)(.d{1,2})?%$ 解决方案四: ^([1-9]{1}[0-9]{0,1}|0|100)(.d{1,2}){0,1}%