2008-10-23 8 views
0

Je construis une bibliothèque de filtres pour une classe de validation en PHP, certains d'entre eux utilisant des expressions régulières. J'ai beaucoup de filtres en tête, mais je ne veux pas en manquer. Qu'est-ce que vous utilisez le plus souvent des expressions régulières pour vérifier? Quelles sont certaines des choses moins courantes que vous avez dû vérifier qui seraient toujours utiles dans une bibliothèque? Note: Je ne cherche pas le code réel de regex, juste ce que vous l'utilisez.Quelles sont vos utilisations les plus courantes pour les expressions régulières?

Répondre

4

Regex devrait être fortement testé avec leurs cas d'utilisation attendus. Par conséquent, il peut être difficile de développer une bibliothèque complète et générale. Je voudrais viser une bibliothèque de fonctions dont vous savez que vous avez besoin maintenant. Puis ajouter à cette liste plus tard, lorsque vous avez des cas de test appropriés.

Cela dit, voici quelques cas d'utilisation communs:

des données numériques
Numéros de téléphone
Dates
codes postaux
SSN

+0

Lorsque vous créez votre bibliothèque, n'oubliez pas qu'au moins quelques éléments de cette liste varient en fonction des paramètres régionaux. – EBGreen

+0

Bon point, EBGreen. Merci. – VirtuosiMedia

1

de sorte que vous êtes à la recherche pour les expressions de type régulières.Nous utiliser pour valider?

téléphone (divers formats internationaux), le code postal, le code postal, #s de carte de crédit, e-mail, dates, chiffres, ssn, urls (http, ftp, ...)

1

En plus des réponses de Nescio. ..

  • mots de passe
  • adresses e-mail
  • caractères différents chartes Interdire dans les champs de texte comme caractères non alphanumériques
1

modèles d'attaque par injection SQL

'[\s]*-- 

Mot de passe Force

((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,255}) 
+0

L'injection SQL doit être contrée par des paramètres liés, sans tenter de nettoyer les données. –

+0

Les paramètres liés ne vous aideront pas à attraper la tentative et nuke le jackass qui l'a essayé, il va juste erreur. Si vous voulez attraper une personne qui essaie de vous pirater, vous devez vérifier vos commentaires. Vous pouvez ensuite utiliser des paramètres liés pour plus de sécurité. –

0

La majorité de mon utilisation de RE est la fixation des données me sont données par diverses sources dans un format standardisé. Beaucoup d'exportation de documents Excel comme CSV ou délimité par des tabulations, puis en passant par un tas de transformations RE dans TextPad.

1

Mes principales utilisations de l'expression régulière sont:

  • tirant en dehors du texte
  • sélection des lignes en entrée
  • formats valider
  • analyse/entrée désinfectante
  • analyse syntaxique
  • offrant une personnalisation expansive (permettant des "configurations configurables", des raccourcis, ...

Un certain nombre de ces éléments se chevauchent. Mais tout cela a à voir avec l'apport humain. La machine lisible et lisible par l'homme sont deux choses différentes. Les expressions régulières nous aident à faire face à des choses humaines (que nous connaissons quelque chose) sans avoir besoin d'une grammaire complète.

Questions connexes