Angular, AWS und Symfony Freelancer

PHP überprüfen, ob ein String eine valide Asin ist

Um zu überprüfen, ob ein String eine valide Asin ist, muss man die 2 möglichen Regeln für Asins überprüfen:

  • ein „B“ gefolgt von 2 Zahlen und 7 alphanumerischen Werten
  • eine spezial ISBN-Vairiante: 9 Zahlen und am Ende entweder ein „X“ oder eine weitere Zahl (sehr selten)

Der passende reguläre Ausdruck in einer Funktion gekapselt in PHP ist:

function isAsin($string){
    $ptn = "/B[0-9]{2}[0-9A-Z]{7}|[0-9]{9}(X|0-9])/";
    if(preg_match($ptn, $string, $matches)){
        return true;
    }
}

Zum Testen habe ich folgenden Code verwendet:

$testAsins = array("B223213FCF","232342342X", "A223213FCF");
foreach ($testAsins as $testAsin)
{
    if(isAsin($testAsin)){
        echo $testAsin." is ASIN"."<br>";
    }
}

Ausgabe des Skripts ist:

B223213FCF is ASIN
232342342X is ASIN

Posted

in

,

by

Tags:

Comments

2 Kommentare zu „PHP überprüfen, ob ein String eine valide Asin ist“

  1. Avatar von Peter Klein
    Peter Klein

    the pattern in ‚isAsin‘ is missing a opening square brace at the last part:
    It must be „/B[0-9]{2}[0-9A-Z]{7}|[0-9]{9}(X|[0-9])/“. You might test with an example of a fully numeric ISBN as well, e.g. ‚3898127052‘

    1. Avatar von Sebastian Viereck
      Sebastian Viereck

      I think isbns are no asins, right?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert