Website-Suche

Regex zur Validierung der Kreditkartennummer


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

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

In diesem Tutorial lernen Sie:

  • So verwenden Sie Bash, um die Kreditkartennummer zu validieren
  • So verwenden Sie Python, um die Kreditkartennummer zu validieren

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

Wie Sie vielleicht schon vermutet haben, können viele verschiedene Programmiersprachen verwendet werden, um eine Kreditkartennummer unter Linux zu validieren. Ein Skript muss nur reguläre Ausdrücke 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 kurzen Codezeilen zu überprüfen. Verwenden Sie Ihre bevorzugte Methode und kopieren Sie unsere Skriptbeispiele in Ihr eigenes System, um mit der Validierung von Kreditkartennummern zu beginnen.

Bash-Beispiel zum Überprüfen 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 zum Überprüfen 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.

Abschließende Gedanken

In diesem Tutorial haben wir gelernt, wie Sie ein Bash- oder Python-Skript verwenden, um Kreditkartennummern 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: