Heim >Backend-Entwicklung >PHP-Tutorial >Regulärer PHP-Ausdruck, um zu überprüfen, ob die Eingabezeichenfolge im richtigen ISBN-Kodierungsformat vorliegt
ISBN (International Standard Book Number), die International Standard Book Number, ist eine fortlaufende Nummer zur Identifizierung von Büchern. Es besteht aus zehn oder dreizehn Ziffern und wird durch bestimmte Berechnungen überprüft, um seine Richtigkeit sicherzustellen. In diesem Artikel stellen wir vor, wie Sie mit regulären PHP-Ausdrücken überprüfen, ob die Eingabezeichenfolge im richtigen ISBN-Kodierungsformat vorliegt.
ISBN-Kodierungsformat
Die ISBN-Kodierung besteht aus 10 oder 13 Ziffern. Die ersten 9 Ziffern sind der Identifikationscode des Buches und die 10. Ziffer ist der Prüfcode. Beim 13-stelligen ISBN-Code sind die ersten drei Ziffern der Länder- oder Regionscode, gefolgt vom Identifikationscode des Herausgebers, dann dem Identifikationscode des Buches und schließlich dem Prüfcode. Beim 10-stelligen ISBN-Code sind die ersten 9 Ziffern auch der Buchidentifikationscode, es gibt jedoch keinen Länder- oder Regionscode und keinen Verlagsidentifikationscode, und die letzte Ziffer ist immer noch ein Prüfcode.
Verifizierungsregeln
Die Verifizierungsregeln lauten wie folgt:
Für 10-stellige ISBN-Kodierung: Der Prüfcode ist die letzte Ziffer und die Berechnungsregeln lauten wie folgt: Multiplizieren Sie die ersten 9 Ziffern mit den Gewichtskoeffizienten von 1~ 9, und dann werden diese 9 Produkte addiert, um eine Gesamtsumme zu erhalten. Dann nehmen Sie den Rest dieser Summe auf 11 und subtrahieren Sie den Rest von 11, um den Prüfcode zu erhalten. Wenn der Rest 10 beträgt, ist der Prüfcode ein Großbuchstabe X.
Für 13-stellige ISBN-Kodierung: Der Prüfcode ist die letzte Ziffer, und die Berechnungsregel lautet wie folgt: Multiplizieren Sie die ersten 12 Ziffern mit einem Gewichtungskoeffizienten von 1 bzw. 3 und addieren Sie dann diese 13 Produkte, um eine Summe zu erhalten . Dann nehmen Sie den Rest dieser Summe auf 10 und subtrahieren Sie dann den Rest von 10, um den Prüfcode zu erhalten.
Regulärer PHP-Ausdruck
Unten finden Sie den Code für den regulären PHP-Ausdruck, um zu überprüfen, ob die Eingabezeichenfolge im richtigen ISBN-Kodierungsformat vorliegt.
Für 10-stelligen ISBN-Code:
function checkISBN10($isbn) { if (!preg_match('/^d{9}[d|X]$/i', $isbn)) { return false; } $checkbit = 0; for ($i = 0; $i < 9; $i++) { $checkbit += intval($isbn{$i}) * (10 - $i); } $checkbit = ($checkbit % 11 == 0) ? 0 : 11 - ($checkbit % 11); return ($isbn{9} == ($checkbit == 10 ? 'X' : strval($checkbit))); }
Für 13-stelligen ISBN-Code:
function checkISBN13($isbn) { if (!preg_match('/^d{13}$/i', $isbn)) { return false; } $checkbit = 0; for ($i = 0; $i < 12; $i++) { $checkbit += intval($isbn{$i}) * (($i % 2 == 0) ? 1 : 3); } $checkbit = 10 - ($checkbit % 10); return ($isbn{12} == strval($checkbit)); }
Diese beiden Funktionen akzeptieren jeweils einen ISBN-Code als Eingabe und geben einen booleschen Wert zurück, der angibt, ob es sich bei dem Code um einen legalen ISBN-Code handelt. Wenn es sich um eine zulässige Kodierung handelt, geben Sie „true“ zurück, andernfalls geben Sie „false“ zurück.
Diese Funktionen verwenden reguläre Ausdrücke, um zu prüfen, ob die Eingabe dem ISBN-codierten Format entspricht. Verwenden Sie dann die Verifizierungsregeln, um den Prüfcode zu berechnen und ihn mit dem Prüfcode in der Eingabekodierung zu vergleichen, um festzustellen, ob die Kodierung zulässig ist.
Fazit
In diesem Artikel wird erläutert, wie Sie mit regulären PHP-Ausdrücken überprüfen, ob die Eingabezeichenfolge im richtigen ISBN-Kodierungsformat vorliegt. Obwohl die Überprüfungsregeln der ISBN-Codierung relativ komplex sind, können wir diese Überprüfung mithilfe der leistungsstarken Funktion regulärer Ausdrücke problemlos implementieren. Mit diesen Funktionen können Entwickler den vom Benutzer eingegebenen ISBN-Code auf seine Richtigkeit überprüfen.
Das obige ist der detaillierte Inhalt vonRegulärer PHP-Ausdruck, um zu überprüfen, ob die Eingabezeichenfolge im richtigen ISBN-Kodierungsformat vorliegt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!