Проверка кредитной карты с regex?

Если Вы знаете процент, завершенный, и можно просто предположить, что масштабы времени линейно, что-то как

timeLeft = timeSoFar * (1/процент)

мог бы работать.

7
задан level20dm 22 September 2009 в 23:59
поделиться

5 ответов

6
ответ дан 6 December 2019 в 09:20
поделиться

Думаю, вы ищете Алгоритм Луна . Это простая формула контрольной суммы, используемая для проверки различных идентификационных номеров.

1
ответ дан 6 December 2019 в 09:20
поделиться

См. Эту ссылку Поиск или проверка номеров кредитных карт с помощью регулярных выражений

  • Visa: ^ 4 [0-9] {12} (?: [0-9 ] {3})? $ Все номера карт Visa начинаются с цифры 4. Новые карты имеют 16 цифр. На старых картах 13.
  • MasterCard: ^ 5 [1-5] [0-9] {14} $ Все номера MasterCard начинаются с цифр от 51 до 55. Все они состоят из 16 цифр.
  • American Express: ^ 3 [47] [0-9] {13} Номера карт $ American Express начинаются с 34 или 37 и состоят из 15 цифр.
  • Diners Club: ^ 3 (?: 0 [0-5] | [68] [0- 9]) [0-9] {11} Номера карт $ Diners Club начинаются с 300 по 305, 36 или 38. Все номера состоят из 14 цифр. Существуют карты Diners Club, которые начинаются с 5 и содержат 16 цифр. Это совместное предприятие Diners Club и MasterCard, и они должны обрабатываться как MasterCard.
  • Откройте для себя: ^ 6 (?: 011 | 5 [0-9] {2}) [0-9] {12} $ Discover номера карт начинаются с 6011 или 65. Все они состоят из 16 цифр.
  • JCB: ^ (?: 2131 | 1800 | 35 \ d {3}) \ d {11} Карты $ JCB, начинающиеся с 2131 или 1800, имеют 15 цифр. Карты JCB, начинающиеся с 35, имеют 16 цифр.

Пока.

13
ответ дан 6 December 2019 в 09:20
поделиться

Это зависит от того, насколько точной должна быть предварительная проверка. Чтобы проверить все, что вы можете, вам нужно вычислить, какой должна быть последняя цифра карты, и сравнить с введенной, что не может сделать RegEx.

Алгоритм и другие детали см. по этой ссылке , который также предоставляет список общих числовых префиксов, по которым вы можете проверить.

0
ответ дан 6 December 2019 в 09:20
поделиться

- Изменить:

На самом деле, я немного не согласен с самим собой и согласен с Клетусом. Подтвердите как можно больше (не вдаваясь в подробности о конкретных типах кредитных карт [IMHO]) перед отправкой. И само собой разумеется (надеюсь), что эта проверка должна выполняться в JavaScript, чтобы сделать это быстро, а затем на сервере для двойной проверки (и для людей с ограниченными возможностями JavaScript).

- Предыдущий ответ:

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

0
ответ дан 6 December 2019 в 09:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: