Regex pour un nombre supérieur à x et à moins d'y
Je suis de la création d'un formulaire sur mon site internet pour les dons, je veux avoir le don de terrain à être une zone de texte avec la valeur de tout montant d'argent entre 5 500 et une autre devise, entre 2000 et 200000 s'il vous plaît aider.
- Pourquoi avez-vous décidez d'utiliser des regex pour cela? Et que fais-tu si loin?
- Regex ne peut pas être utilisé pour cette expression régulière est un modèle de langue correspondants.
- Il peut (selon la langue), mais il n'est pas conseillé.
- Regex peut être utilisé pour cela, car ils sont des constantes, mais il serait vraiment idiot.
- Je pense que le titre de l'OP était juste une généralisation. Le corps de la question mentionne des valeurs spécifiques.
- Il y a quelques exemples ici de comment faire, mais c'est vraiment moche...
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser l'expression régulière ici
il y a beaucoup de façons de vérifier ie
x
est dans une gamme. Expression régulière sera la cause de problème de performance ici.voici la réponse réelle
regex pour la gamme de 5 à 500:
modifier^2
Je ne sais pas pourquoi regex est important ici. Mais je vais vous expliquer comment il fonctionne.
Comme regex est un filtrage de langue, on ne peut que correspondre à un motif avec elle. Donc, nous devons trouver un modèle en elle.
Ici, les modèles sont: 5-9 ou 10-99 ou de 100 à 499 et 500.
Donc, si notre regex est
/[5-9]/
elle correspond à notre première. Ainsi/[1-9][0-9]/
,/[1-4][0-9][0-9]/
et/500/
est venu.Mais, dois-je valider nos données plusieurs fois?
Non, vous avez une autre option.
Nous allons utiliser des tuyaux pour l'alternance vérifier.
/[5-9]|([1-9][0-9])|([1-4][0-9][0-9])|(500)/
en fait, ce devrait également du bon travail, mais je les fais non capuring. Alors, j'ai mis
?:
[0-9]{2}
correspondra 0-9 exatctly deux fois. Lorsque vous essayez de faire correspondre les plages dans les 10^6 en ordre de grandeur, ce qui peut simplifier votre vie un peu.Vous peut utiliser une regex pour cela, mais garder à l'esprit de savoir si ou de ne pas en 6 mois, vous aurez rappelez-vous comment cela fonctionne.
Vos autres valeurs de la fonction de la même façon: Départ de la limite supérieure et la spécifier littéralement; ensuite travailler vers le bas de votre tenue, précisant littéralement (ou dans ce cas par l'intermédiaire d'une classe de caractères). Chaque changement dans le nombre de chiffres (par exemple, 100 => 99), il faudra une nouvelle alternance.
Vous n'avez pas besoin d'utiliser des regex ici. Juste de capture de la valeur de votre formulaire de saisie puis la comparer à l'encontre de votre gamme de nombre. C'est une tâche très commune en JavaScript et est connu comme "la validation d'un formulaire."
http://jsbin.com/ihoxut/2/edit
De ne pas utiliser des regex pour elle.
si vous utilisez php n':
bien sûr, vous pourriez faire la même en java sur le côté client ou de toute autre langue que vous souhaitez utiliser