Wie finde ich raus, ob eine Variable eine IP ist?

  • Das kommt wohl darauf an wie und was du in die Variable einspeicherst.

    eventuell habe ich mich falsch ausgedrückt...^^
    Wie mache ich es, das eine MsgBox kommt, wenn hier $a keine ip ist :?:

    [autoit]


    $a = inputbox("IP","Gib eine Ip ein")

    [/autoit]
  • Ich glaube das geht nicht, denn man müsste ja die IP in $a schreiben, aber wenn man z.B. 25.241.122.24 eingibt, wird es nicht als nummer erkannt, da es mehr als 1 Punkt hat, deswegen muss man die Zahl in "" setzen, aber dann kann man nur IsString abfragen.

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

  • mach das einfach so:

    Spoiler anzeigen
    [autoit]

    If StringRegExp(inputbox("IP","Gib eine Ip ein"), '\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b', 0) Then
    MsgBox(0, '', "Ist eine IP-Adresse")
    Else
    MsgBox(0, '', "keine korrekte IP-Adresse!")
    EndIf

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

    • Offizieller Beitrag

    Hm. ich sollte langsam mal anfangen Reguläre Ausdrücke zu lernen. :D Da erspart man sich eine Menge Code.

  • Hier ist auch noch eine möglichkeit:

    Spoiler anzeigen
    [autoit]

    $IP = "127.0.0.1"

    [/autoit] [autoit][/autoit] [autoit]

    If CheckIP($IP) Then
    MsgBox(0, "True", $IP & " ist eine IP")
    Else
    MsgBox(0, "False", $IP & " ist keine IP")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Func CheckIP($IP)
    $Part = StringSplit($IP, ".")
    If $Part[0] <> 4 Then Return False
    For $a = 1 To 4 Step + 1
    If Not StringIsInt($Part[$a]) Then Return False
    If $Part[$a] > 255 Or $Part[$a] < 0 Then Return False
    Next
    Return True
    EndFunc

    [/autoit]

    LG

  • Hallo Jonathan,

    das einfachste wäre es erst gar keine anderen Eingaben zuzulassen, dafür gibt es _GUICtrlIpAddress_Create (erzeugt ein GUI zu Eingabe einer IP-Adresse) schau dir einfach die Hilfe dazu an,

    mfg (Auto)Bert

  • wie gut, dass das Script nur 3 Zeilen hat ... :rofl:

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...