PowerShell 字符串的几种类型判断
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerShell 字符串的几种类型判断相关的知识,希望对你有一定的参考价值。
Function IsBlank ([string]$InputObject) { if (($InputObject -eq "") -or ($InputObject -eq $Null)) { Return $True } else { Return $False } } Function IsInteger ([string]$InputObject) { if ($InputObject -match "^\d+$" ) { Return $True } else { Return $False } } Function IsFloat ([string]$InputObject) { if ($InputObject -match "^\d+\.\d+$") { Return $True } else { Return $False } } Function IsIPAddr ([string]$InputObject) { if ($InputObject -match "^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$") { Foreach ($Local:str in $InputObject.split(".")) { if (([int16]$str -gt 255) -or (($str -match "^0") -and ($str -ne "0"))) { #IP任意一段大于255或(以0开头但不等于0)则无效 Return $False } } if ( [int16]$InputObject.split(".")[0] -eq 0 ) { #IP首位等于0则无效 Return $False } Return $True } else { #IP不符合四段3位数值格式则无效 Return $False } } Function IsNetmask([string]$InputObject) { if ($InputObject -match "^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$") { #将子网掩码转换为二进制字符串,不足8位的在左侧填0 $Mask = -join ($InputObject.Split(‘.‘) | ForEach-Object {[System.Convert]::ToString($_,2).PadLeft(8,‘0‘)}) #判断是否连续1开头,连续0结尾 if (($Mask -match ‘^1+0+$‘) -and ($Mask.Length -le 32)) { Return $True } else { Return $False } } else { Return $False #不符合IP的四段3位数字格式 } }
本文出自 “foolishfish” 博客,请务必保留此出处http://foolishfish.blog.51cto.com/3822001/1741530
以上是关于PowerShell 字符串的几种类型判断的主要内容,如果未能解决你的问题,请参考以下文章