Maison >développement back-end >tutoriel php >Comment vérifier le numéro ISBN à l'aide de l'expression régulière PHP

Comment vérifier le numéro ISBN à l'aide de l'expression régulière PHP

王林
王林original
2023-06-24 10:13:401546parcourir

Dans le domaine du livre, le numéro ISBN est un identifiant très important. Son nom complet est International Standard Book Number (International Standard Book Number), qui est utilisé pour identifier de manière unique un livre. Le numéro ISBN se compose de 13 chiffres, dont un chiffre de contrôle qui peut être utilisé pour vérifier l'exactitude du numéro. Dans le développement réel, nous devons souvent vérifier les numéros ISBN pour nous assurer qu'ils sont conformes aux spécifications. Les expressions régulières PHP constituent un moyen pratique de vérifier le format du numéro ISBN.

Tout d’abord, comprenons la structure du numéro ISBN. Comme mentionné précédemment, il se compose de 13 chiffres, généralement représentés par trois séries de nombres séparés par des tirets. Parmi eux, les trois premiers groupes de chiffres représentent le pays, l'éditeur et le titre du livre, et les traits d'union entre chaque élément sont utilisés pour les séparer. Le dernier chiffre est le chiffre de contrôle et est utilisé pour vérifier l’exactitude du numéro entier.

En PHP, nous pouvons utiliser la fonction preg_match() pour vérifier le numéro ISBN. Cette fonction correspond à une chaîne à l'aide d'un modèle d'expression régulière et renvoie le résultat correspondant. Voici un exemple simple pour valider un numéro ISBN à 13 chiffres :

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

Dans le code ci-dessus, nous définissons d'abord un numéro ISBN à 13 chiffres et définissons un modèle d'expression régulière pour correspondre à ce numéro. Le modèle se compose de cinq groupes, chacun correspondant à un élément du numéro ISBN. Plus précisément, le premier groupe correspond aux trois premiers chiffres, le deuxième groupe correspond à l'éditeur et aux numéros du titre du livre, le troisième groupe correspond aux numéros du titre du livre, le quatrième groupe correspond au nombre de publications et le dernier groupe correspond le chiffre de contrôle. Notez que les traits d'union sont explicitement spécifiés dans le modèle.

Ensuite, nous utilisons la fonction preg_match() pour faire la correspondance et déterminons si la correspondance est réussie en fonction de la valeur de retour. En cas de succès, un message d'invite est affiché.

Pour devenir plus strict, nous pouvons également spécifier des règles plus détaillées dans le modèle pour vérifier le numéro ISBN. Par exemple, nous pourrions autoriser uniquement l’apparition de caractères numériques dans les numéros ISBN. Voici un exemple plus strict :

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

Dans cet exemple, nous utilisons un modèle plus strict pour faire correspondre les numéros ISBN. Ce mode permet uniquement aux caractères numériques d'apparaître dans le numéro, les trois premiers chiffres doivent être 978 ou 979, suivis de 10 chiffres, et le dernier chiffre est le chiffre de contrôle. Notez que nous avons omis les traits d’union car ils sont facultatifs. Cet exemple est plus strict si le numéro ISBN ne répond pas aux exigences, la correspondance ne réussira pas.

En développement réel, nous pouvons ajuster la rigueur du modèle en fonction des besoins réels. Nous pouvons utiliser des séparateurs facultatifs ou forcer uniquement les caractères numériques à être autorisés dans les nombres, etc. Quelle que soit la situation, vous pouvez facilement vérifier le format du numéro ISBN à l'aide des expressions régulières PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn