Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengesahkan nombor ISBN menggunakan ungkapan biasa PHP

Cara mengesahkan nombor ISBN menggunakan ungkapan biasa PHP

王林
王林asal
2023-06-24 10:13:401486semak imbas

Dalam medan buku, nombor ISBN ialah pengecam yang sangat penting. Nama penuhnya ialah Nombor Buku Standard Antarabangsa (Nombor Buku Standard Antarabangsa), yang digunakan untuk mengenal pasti buku secara unik. Nombor ISBN terdiri daripada 13 digit, termasuk digit semakan yang boleh digunakan untuk mengesahkan ketepatan nombor tersebut. Dalam pembangunan sebenar, kami selalunya perlu mengesahkan nombor ISBN untuk memastikan ia mematuhi spesifikasi. Ungkapan biasa PHP menyediakan cara yang mudah untuk mengesahkan format nombor ISBN.

Pertama, mari kita fahami struktur nombor ISBN. Seperti yang dinyatakan sebelum ini, ia terdiri daripada 13 digit, biasanya diwakili sebagai tiga set nombor yang dipisahkan oleh tanda sempang. Antaranya, tiga kumpulan nombor pertama mewakili negara, penerbit dan tajuk buku, dan tanda sempang antara setiap elemen digunakan untuk memisahkannya. Digit terakhir ialah digit semakan dan digunakan untuk mengesahkan ketepatan keseluruhan nombor.

Dalam PHP, kita boleh menggunakan fungsi preg_match() untuk mengesahkan nombor ISBN. Fungsi ini memadankan rentetan menggunakan corak ungkapan biasa dan mengembalikan hasil yang sepadan. Berikut ialah contoh mudah untuk mengesahkan nombor ISBN 13 digit:

$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号码。";
}

Dalam kod di atas, kami mula-mula mentakrifkan nombor ISBN 13 digit dan mentakrifkan corak ungkapan Biasa. Corak ini terdiri daripada lima kumpulan, setiap satu sepadan dengan elemen dalam nombor ISBN. Khususnya, kumpulan pertama sepadan dengan tiga nombor pertama, kumpulan kedua sepadan dengan penerbit dan nombor dalam tajuk buku, kumpulan ketiga sepadan dengan nombor dalam tajuk buku, kumpulan keempat sepadan dengan bilangan penerbitan, dan kumpulan terakhir sepadan. digit semak. Ambil perhatian bahawa tanda sempang dinyatakan secara eksplisit dalam corak.

Seterusnya, kami menggunakan fungsi preg_match() untuk memadankan dan menentukan sama ada perlawanan itu berjaya berdasarkan nilai pulangan. Jika berjaya, mesej gesaan akan dikeluarkan.

Untuk menjadi lebih ketat, kami juga boleh menentukan peraturan yang lebih terperinci dalam corak untuk mengesahkan nombor ISBN. Sebagai contoh, kami hanya boleh membenarkan aksara angka muncul dalam nombor ISBN. Berikut ialah contoh yang lebih ketat:

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

Dalam contoh ini, kami menggunakan corak yang lebih ketat untuk memadankan nombor ISBN. Mod ini hanya membenarkan aksara angka muncul dalam nombor, tiga digit pertama mestilah 978 atau 979, diikuti dengan 10 digit, dan digit terakhir ialah digit semak. Ambil perhatian bahawa kami meninggalkan tanda sempang pemisah kerana ia adalah pilihan. Contoh ini lebih ketat Jika nombor ISBN tidak memenuhi syarat, perlawanan tidak akan berjaya.

Dalam pembangunan sebenar, kita boleh melaraskan ketegasan model mengikut keperluan sebenar. Kita boleh menggunakan pemisah pilihan atau memaksa hanya aksara angka untuk dibenarkan dalam nombor dsb. Tanpa mengira keadaan, anda boleh mengesahkan format nombor ISBN dengan mudah menggunakan ungkapan biasa PHP.

Atas ialah kandungan terperinci Cara mengesahkan nombor ISBN menggunakan ungkapan biasa PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn