Heim  >  Artikel  >  Backend-Entwicklung  >  So überprüfen Sie die ISBN-Nummer mithilfe eines regulären PHP-Ausdrucks

So überprüfen Sie die ISBN-Nummer mithilfe eines regulären PHP-Ausdrucks

王林
王林Original
2023-06-24 10:13:401443Durchsuche

Im Buchbereich ist die ISBN-Nummer eine sehr wichtige Kennung. Der vollständige Name lautet International Standard Book Number (International Standard Book Number), der zur eindeutigen Identifizierung eines Buches verwendet wird. Die ISBN-Nummer besteht aus 13 Ziffern, einschließlich einer Prüfziffer, mit der die Richtigkeit der Nummer überprüft werden kann. In der tatsächlichen Entwicklung müssen wir häufig ISBN-Nummern überprüfen, um sicherzustellen, dass sie den Spezifikationen entsprechen. Reguläre PHP-Ausdrücke bieten eine praktische Möglichkeit, das Format der ISBN-Nummer zu überprüfen.

Lassen Sie uns zunächst die Struktur der ISBN-Nummer verstehen. Wie bereits erwähnt, besteht es aus 13 Ziffern, die normalerweise als drei durch Bindestriche getrennte Zahlengruppen dargestellt werden. Dabei repräsentieren die ersten drei Zahlengruppen das Land, den Verlag und den Buchtitel, und die Bindestriche zwischen den einzelnen Elementen dienen zur Trennung. Die letzte Ziffer ist die Prüfziffer und dient zur Überprüfung der Richtigkeit der gesamten Zahl.

In PHP können wir die Funktion preg_match() verwenden, um die ISBN-Nummer zu überprüfen. Diese Funktion gleicht eine Zeichenfolge mithilfe eines regulären Ausdrucksmusters ab und gibt das übereinstimmende Ergebnis zurück. Das Folgende ist ein einfaches Beispiel für die Validierung einer 13-stelligen ISBN-Nummer:

$isbn = '978-3-16-148410-0';
$pattern = '/^(d{3})-(d{1,5})-(d{1,7})-(d{1,6})-(d)$/';
if (preg_match($pattern, $isbn)) {
    echo "这是一个有效的ISBN号码。";
} else {
    echo "这不是一个有效的ISBN号码。";
}

Im obigen Code definieren wir zunächst eine 13-stellige ISBN-Nummer und definieren ein reguläres Ausdrucksmuster, das dieser Nummer entspricht. Das Muster besteht aus fünf Gruppen, die jeweils einem Element in der ISBN-Nummer entsprechen. Konkret stimmt die erste Gruppe mit den ersten drei Zahlen überein, die zweite Gruppe mit dem Verlag und den Zahlen im Buchtitel, die dritte Gruppe mit den Zahlen im Buchtitel, die vierte Gruppe mit der Anzahl der Veröffentlichungen und die letzte Gruppe mit den Zahlen die Prüfziffer. Beachten Sie, dass Bindestriche im Muster explizit angegeben sind.

Als nächstes verwenden wir die Funktion preg_match() zum Abgleichen und bestimmen anhand des Rückgabewerts, ob der Abgleich erfolgreich ist. Bei Erfolg wird eine Prompt-Meldung ausgegeben.

Um strenger zu werden, können wir im Muster auch detailliertere Regeln zur Überprüfung der ISBN-Nummer festlegen. Beispielsweise könnten wir nur zulassen, dass numerische Zeichen in ISBN-Nummern vorkommen. Hier ist ein strengeres Beispiel:

$isbn = '978-3-16-148410-0';
$pattern = '/^(97(8|9))(d{10})(d)$/';
if (preg_match($pattern, $isbn)) {
    echo "这是一个有效的ISBN号码。";
} else {
    echo "这不是一个有效的ISBN号码。";
}

In diesem Beispiel verwenden wir ein strengeres Muster, um ISBN-Nummern abzugleichen. In diesem Modus können nur numerische Zeichen in der Nummer vorkommen. Die ersten drei Ziffern müssen 978 oder 979 sein, gefolgt von 10 Ziffern und die letzte Ziffer ist die Prüfziffer. Beachten Sie, dass wir die Trennstriche weggelassen haben, da sie optional sind. Dieses Beispiel ist strenger. Wenn die ISBN-Nummer die Anforderungen nicht erfüllt, ist der Abgleich nicht erfolgreich.

In der tatsächlichen Entwicklung können wir die Strenge des Modells an die tatsächlichen Bedürfnisse anpassen. Wir können optionale Trennzeichen verwenden oder erzwingen, dass in der Zahl nur numerische Zeichen zulässig sind usw. Unabhängig von der Situation können Sie das Format der ISBN-Nummer mithilfe regulärer PHP-Ausdrücke problemlos überprüfen.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die ISBN-Nummer mithilfe eines regulären PHP-Ausdrucks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn