💳 Как проверить номер кредитной карты на Linux

Скрипты

Цель данного руководства – показать, как использовать скрипт оболочки Bash или программный код Python для проверки номера кредитной карты в системе Linux.

Ознакомьтесь с приведенными ниже примерами скриптов для проверки номеров кредитных карт из командной строки Linux.

Регулярные выражения для проверки номера кредитной карты – примеры на Bash и Python

Как вы уже догадались, для проверки номера кредитной карты в Linux можно использовать множество различных языков программирования.

Скрипт просто должен использовать регулярное выражение, чтобы убедиться, что присутствуют 16 цифр (вместе с пробелами или тире в некоторых случаях).

Другими словами, такие числа, как:

  • 1234 5678 1234 5678
  • 1234567812345678
  • 1234-5678-1234-5678

Два самых популярных инструмента для выполнения этой задачи в Linux – оболочка Bash и язык программирования Python.

Оба они способны проверять номера кредитных карт с помощью всего нескольких коротких строк кода.

Воспользуйтесь предпочтительным методом, приведенным ниже, и скопируйте наши примеры скриптов в свою систему, чтобы начать проверку номеров кредитных карт.

Пример Bash для проверки номеров кредитных карт

Bash-скрипт:

#!/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."

Выполнение скрипта Bash:

$ 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 для проверки номеров кредитных карт

Скрипт Python:

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.")

Выполнение скрипта Python:

$ 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.

Заключение

В этом руководстве мы узнали, как использовать скрипты Bash или Python для проверки номеров кредитных карт в системах Linux.

Поскольку используется только регулярное выражение, это оказывается довольно простой задачей для любого из этих языков программирования.

И, конечно, многие другие языки программирования способны справиться с этой задачей.

см. также:

Добавить комментарий