Lors de la vérification des modèles de véhicules, les expressions régulières PHP peuvent très facilement nous aider à traiter les chaînes d'entrée. Cet article détaille comment utiliser les expressions régulières PHP pour vérifier si la chaîne d'entrée est conforme au format correct du modèle de véhicule.
1. Format du modèle de véhicule
Avant de procéder à la vérification du modèle de véhicule, nous devons d'abord comprendre quel est le format correct du modèle de véhicule. De manière générale, les restrictions de format de modèle de véhicule varient selon la région, mais incluent généralement les éléments suivants :
Par exemple, un modèle de véhicule 2020. Le format de l’Audi A3 35 TFSI Limousine contient les cinq éléments ci-dessus.
En Chine, le format des modèles de véhicules est relativement uniforme, généralement sous la forme de « nom de marque + nom de série de voiture + nom de modèle + année + type de puissance ». Les détails sont les suivants :
Par conséquent, un exemple de format de modèle de voiture correct est "Mercedes-Benz Classe E E300L 2020 2.0T Automatique Édition Luxe".
2. Utiliser des expressions régulières PHP
Lors de l'utilisation d'expressions régulières PHP pour la vérification du modèle de véhicule, nous devons d'abord définir un modèle d'expression régulière pour le modèle de véhicule. Ce qui suit est un modèle d'expression régulière de base d'un modèle de véhicule :
/^[x{4e00}-x{9fa5}]+[A-Za-z0-9]+[x{4e00}-x{9fa5}]+[A-Za-z0-9]+(201[0-9]|202[0-9])(款)?(s+(1|2).d[T|D|H|E])?$/u
La signification de ce modèle d'expression régulière est la suivante :
^
et se termine par $
, ce qui signifie que la chaîne entière doit correspondre au modèle d'expression régulière ^
开头,以$
结尾,表示整个字符串都必须匹配该正则表达式模式[x{4e00}-x{9fa5}]
表示匹配中文字符[A-Za-z0-9]
表示匹配英文字母和数字+
表示前面的字符必须连续出现一次或多次(201[0-9]|202[0-9])
表示匹配2010年至2029年的数字(款)?
表示匹配可选的“款”字s+
表示匹配一个或多个空格(1|2).d[T|D|H|E]
表示匹配1.0T、2.0D、1.5H或2.0E四种动力类型(s+(1|2).d[T|D|H|E])?
表示动力类型部分为可选项/u
[x{4e00}-x{9fa5}]
pour faire correspondre les caractères chinois Utilisez [A-Za-z0-9 ]
signifie faire correspondre des lettres et des chiffres anglais
Utilisez +
pour indiquer que le caractère précédent doit apparaître une ou plusieurs fois de suite
Utilisez (201[0-9] |202[0 -9])
signifie correspondre aux nombres de 2010 à 2029
Utiliser (section) ?
signifie correspondre au caractère facultatif "section"
Utiliser 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!s+</ code >Indique la correspondance d'un ou plusieurs espaces </p>🎜Utilisez <code>(1|2).d[T|D|H|E]
pour faire correspondre les quatre puissances de 1.0T, 2.0D, 1.5H ou 2.0 Type E🎜🎜Utilisez (s+(1|2).d[T|D|H|E])?
pour indiquer que la partie de type dynamique est facultative🎜🎜Utilisez /u< /code> Spécifiez le modèle d'expression régulière comme encodage UTF-8🎜🎜🎜3. Exemple de vérification PHP🎜🎜Ce qui suit est un exemple de vérification PHP de base :🎜
<?php
$vin = "奔驰E级E300L 2020款 2.0T 自动豪华版";
$pattern = "/^[x{4e00}-x{9fa5}]+[A-Za-z0-9]+[x{4e00}-x{9fa5}]+[A-Za-z0-9]+(201[0-9]|202[0-9])(款)?(s+(1|2).d[T|D|H|E])?$/u";
if (preg_match($pattern, $vin)) {
echo "输入串是一个正确的车辆型号格式。
";
} else {
echo "输入串不是一个正确的车辆型号格式。
";
}
?>