====== std.validate.luhn ====== Der Luhn-Algorithmus (Hans Peter Luhn, IBM 1954) ist ein einfacher Prüfzifferalgorithmus zur Erkennung von Tippfehlern in Nummernreihen. Er wird bei Kreditkartennummern, IMEI-Nummern (Mobilgeräte) und deutschen Steuer-IDs eingesetzt. Neben der reinen Luhn-Prüfung erkennt die Unit den Kartentyp (Visa, Mastercard, Amex, Discover, Maestro, UnionPay etc.) anhand des Nummernpräfixes. Einsatzbereiche sind Zahlungsformulare, E-Commerce-Kassensysteme, Geräteregistrierung (IMEI), Steuerformulare und jede Anwendung, die Nummernformate vor der Verarbeitung auf formale Gültigkeit prüft. ---- ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Sichtbarkeit ^ | ''CARD_UNKNOWN'' | ''int64'' | ''0'' | pub | | ''CARD_VISA'' | ''int64'' | ''1'' | pub | | ''CARD_MASTERCARD'' | ''int64'' | ''2'' | pub | | ''CARD_AMEX'' | ''int64'' | ''3'' | pub | | ''CARD_DISCOVER'' | ''int64'' | ''4'' | pub | | ''CARD_DINERS'' | ''int64'' | ''5'' | pub | | ''CARD_JCB'' | ''int64'' | ''6'' | pub | | ''CARD_MAESTRO'' | ''int64'' | ''7'' | pub | | ''CARD_UNIONPAY'' | ''int64'' | ''8'' | pub | ---- ===== Funktionen ===== ^ Signatur ^ Sichtbarkeit ^ Beschreibung ^ | ''LuhnStrLen(s: int64): int64'' | pub | Zeichenlänge eines Luhn-Strings ermitteln | | ''LuhnIsDigit(c: int64): int64'' | pub | Prüft ob Zeichen eine Ziffer ist | | ''LuhnDigitToInt(c: int64): int64'' | pub | Ziffernzeichen in Integer umwandeln | | ''LuhnCheckDigit(number: int64): int64'' | pub | Luhn-Prüfziffer berechnen | | ''LuhnValidate(number: int64): int64'' | pub | Nummer per Luhn-Algorithmus validieren | | ''CreditCardType(number: int64): int64'' | pub | Kartentyp anhand Präfix erkennen | | ''CreditCardTypeName(cardType: int64): int64'' | pub | Kartentyp-Konstante als Name liefern | | ''CreditCardValidate(number: int64): int64'' | pub | Kreditkartennummer vollständig validieren | | ''CreditCardMask(number: int64): int64'' | pub | Kreditkartennummer maskieren | | ''CreditCardFormat(number: int64): int64'' | pub | Kreditkartennummer in Gruppen formatieren | | ''CreditCardGenerateTest(cardType: int64): int64'' | pub | Testnummer für Kartentyp generieren | | ''IMEIValidate(imei: int64): int64'' | pub | IMEI-Gerätenummer validieren | | ''GermanTaxIDValidate(taxId: int64): int64'' | pub | Deutsche Steuer-ID validieren |