PowerShell 문자열의 몇 가지 유형 판단

1420 단어 문자열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 
  }
}

좋은 웹페이지 즐겨찾기