Website-Suche

Regex zur Validierung der Kreditkartennummer


Der Zweck dieses Tutorials besteht darin, zu zeigen, wie man ein Bash-Shell-Skript oder einen Python-Programmiercode verwendet, um eine Kreditkartennummer auf einem Linux-System zu validieren.

Schauen Sie sich die folgenden Beispielskripte an, um Kreditkartennummern über die Linux-Befehlszeile zu validieren.

In diesem Tutorial lernen Sie:

  • So verwenden Sie Bash zur Validierung der Kreditkartennummer

  • So verwenden Sie Python zur Validierung der Kreditkartennummer

Regex zur Validierung der Kreditkartennummer – Bash- und Python-Beispiele

Wie Sie vielleicht schon erraten haben, könnten viele verschiedene Programmiersprachen verwendet werden, um eine Kreditkartennummer unter Linux zu validieren. Ein Skript muss lediglich einen regulären Ausdruck verwenden, um sicherzustellen, dass 16 Ziffern vorhanden sind (in einigen Fällen zusammen mit Leerzeichen oder Bindestrichen). Mit anderen Worten, Zahlen wie:

  • 1234 5678 1234 5678

  • 1234567812345678

  • 1234-5678-1234-5678

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

Bash-Beispiel zur Validierung von Kreditkartennummern

Bash-Skript:


#!/bin/bash

# regexp to get a valid credit card number

echo $1 | grep -qE '^([0-9]{4}[- ]?){3}[0-9]{4}$'

if [ $? -eq 0 ]; then
	echo "$1 is a valid credit card number."
else
	echo "$1 is an invalid credit card number."
fi

Ausführung des Bash-Skripts:


$ chmod +x validate_credit_card_number.sh

$ ./validate_credit_card_number.sh "1234 5678 1234 5678"
1234 5678 1234 5678 is a valid credit card number.

$ ./validate_credit_card_number.sh 1234567812345678
1234567812345678 is a valid credit card number.

$ ./validate_credit_card_number.sh 1234-5678-1234-5678
1234-5678-1234-5678 is a valid credit card number.

$ ./validate_credit_card_number.sh 1234-5678-1234-56786
1234-5678-1234-56786 is an invalid credit card number.

$ ./validate_credit_card_number.sh 1234-55678-1234-5678
1234-55678-1234-5678 is an invalid credit card number.

Python-Beispiel zur Validierung von Kreditkartennummern

Python-Skript:


import re
cc_list=['1234 5678 1234 5678',
'1234567812345678',
'1234-5678-1234-5678',
'1234-5678-1234-56786',
'1234-55678-1234-5678']
pattern = '^([0-9]{4}[- ]?){3}[0-9]{4}$'
for eachnumber in cc_list:
    result = re.match(pattern, eachnumber)
    if result:
        print(eachnumber+" is a valid credit card number.")
    else:
        print(eachnumber+" is an invalid credit card number.")

Ausführung des Python-Skripts:


$ python3 validate_credit_card_number.py

1234 5678 1234 5678 is a valid credit card number.

1234567812345678 is a valid credit card number.

1234-5678-1234-5678 is a valid credit card number.

1234-5678-1234-56786 is an invalid credit card number.

1234-55678-1234-5678 is an invalid credit card number.

Schlussgedanken

In diesem Tutorial haben wir gelernt, wie man ein Bash- oder Python-Skript verwendet, um Kreditkartennummern unter Linux zu validieren. Da nur reguläre Ausdrücke verwendet werden, ist dies für beide Programmiersprachen eine recht einfache Aufgabe. Und natürlich sind viele andere Programmiersprachen dieser Aufgabe gewachsen.

Verwandte Artikel: