J'ai un script qui permet à un utilisateur de soumettre une requête de recherche, généralement sous la forme d'un nom de site ou en utilisant l'adresse MAC d'un périphérique. Je veux garder la recherche aussi simple que possible, alors je veux seulement le champ de recherche, et je ne veux pas l'encombrer de champs ou de boutons radio pour que l'utilisateur spécifie ce qu'il recherche. Je veux prendre soin de cela automatiquement sur le back-end.Comment comparer ces types de chaînes?
Voici comment j'attends un nom du site à rechercher par, dans un de ces formats:
Les lettres et les chiffres ne sont que des exemples, peut être quelque chose, juste dans ce format.
TX-DAL0099A1
TX-DAL0099A
TX-DAL0099
DAL0099A1
DAL0099A
DAL0099
OU par MAC Adresse
00 11 22 33 44 55
00:11:22:33:44:55
00.11.22.33.44.55
00-11-22-33-44-55
001122334455
Je cherche la meilleure façon de vérifier d'abord si elle est un nom du site (les premiers exemples), et sinon, assurez-vous qu'il est un Adresse Mac. Je ne veux pas exécuter une fonction preg_replace sur la requête de recherche pour supprimer des caractères divers, comme les traits d'union, les points, les deux-points, etc. car il est important d'avoir la partie TX préfixée du nom du site. un nom de site en cours de recherche.
Note: Je voudrais savoir si le nom du site a le préfixe, ainsi que la fin A/A1 des exemples. Ce sont importants.
J'espère que cela a du sens. =/
Oh, et je le fais en PHP - j'ai oublié de le mentionner.
MISE À JOUR: Cet extrait de code fonctionnerait-il?
Soyez conscient de la fait que l'expression régulière ci-dessus acceptera également l'adresse mac suivante 0F-A0-FF: 86 DE 84, l'expression rationnelle donnée par pilcow sur http://stackoverflow.com/questions/4260467/what-is-a-regular-expression- for-a-mac-address devrait fonctionner mieux – bkwint
Merci pour ce conseil, bkwint. – Skryn