Website-Suche

5-stellige Regex-Validierung der US-Postleitzahl


In diesem Tutorial wird gezeigt, wie Sie ein Bash-Shell-Skript oder einen Python-Programmiercode verwenden, um eine US-Postleitzahl auf einem Linux-System zu validieren.

Sehen Sie sich die folgenden Beispielskripte an, um US-Postleitzahlen über die Linux-Befehlszeile zu validieren.

In diesem Tutorial lernen Sie:

  • So verwenden Sie Bash, um US-Postleitzahlen zu validieren
  • So verwenden Sie Python, um US-Postleitzahlen zu validieren

Regex zur Validierung der US-Postleitzahl – Bash- und Python-Beispiele

Wie Sie vielleicht schon vermutet haben, können viele verschiedene Programmiersprachen verwendet werden, um eine Postleitzahl in Linux zu validieren. US-Postleitzahlen können entweder insgesamt fünf Ziffern oder fünf Ziffern enthalten, gefolgt von einem Bindestrich und vier zusätzlichen Ziffern. Ein Skript muss lediglich reguläre Ausdrücke verwenden, um sicherzustellen, dass diese Anforderungen erfüllt sind. Mit anderen Worten, Zahlen wie:

Beispiele für gültige Zahlen:

  • 32344
  • 32344-4444

Beispiele für ungültige Nummern:

  • 323445-44
  • 323445

Zwei der beliebtesten Tools für diese Aufgabe unter Linux sind die Bash-Shell und die Programmiersprache Python. Beide sind in der Lage, Postleitzahlen mit nur wenigen kurzen Codezeilen zu überprüfen. Verwenden Sie Ihre bevorzugte Methode und kopieren Sie unsere Skriptbeispiele in Ihr eigenes System, um mit der Validierung von Postleitzahlen zu beginnen.

Bash-Beispiel zum Überprüfen von Postleitzahlen

Bash-Skript:


#!/bin/bash

regexp to get a valid US postal code
echo $1 | grep -qE '^[0-9]{5}(-[0-9]{4})?$'

if [ $? -eq 0 ]; then
	echo "$1 is a valid US postal code."
else
	echo "$1 is an invalid US postal code."
fi

Ausführung des Bash-Skripts:


chmod +x validate_us_postal_code.sh

./validate_us_postal_code.sh 32344-4444
32344-4444 is a valid US postal code.

./validate_us_postal_code.sh 32344
32344 is a valid US postal code.

./validate_us_postal_code.sh 323445-44
323445-44 is an invalid US postal code.

./validate_us_postal_code.sh 323445
323445 is an invalid US postal code.

Python-Beispiel zum Überprüfen von Postleitzahlen

Python-Skript:


import re
zip_list=['32344-4444',
'32344',
'323445-44',
'323445']
pattern = '^[0-9]{5}(-[0-9]{4})?$'
for eachnumber in zip_list:
    result = re.match(pattern, eachnumber)
    if result:
        print(eachnumber+" is a valid US postal code.")
    else:
        print(eachnumber+" is an invalid US postal code.")

Ausführung des Python-Skripts:


python3 validate_us_zip_code.py

32344-4444 is a valid US postal code.

32344 is a valid US postal code.

323445-44 is an invalid US postal code.

323445 is an invalid US postal code.

Abschließende Gedanken

In diesem Tutorial haben wir gelernt, wie man ein Bash- oder Python-Skript verwendet, um Postleitzahlen unter Linux zu validieren. Da nur reguläre Ausdrücke verwendet werden, ist dies für beide Programmiersprachen eine ziemlich einfache Aufgabe. Und natürlich sind viele andere Programmiersprachen in der Lage, diese Aufgabe zu bewältigen.

Verwandte Artikel: