Comment puis-je changer cette expression régulière /^[1-9][0-9]{0,3}$|^[1-9][0-9]{0,3}[\.][0-9]$/
pour voir qu'il accepte « 0,1 » et « 0,2 », et ainsi sur des valeurs, mais il ne doit pas accepter « 0.0 »expression régulière pour correspondre à cet ensemble de valeurs
Répondre
RegExp couvrant les cas existants, mais permettant également des décimales 0.1 <= n <= 0.9
.
/^[1-9][0-9]{0,3}$|^[1-9][0-9]{0,3}\.[0-9]$|^0\.[1-9]$/
ou mieux, de la solution de Dreynold:
/^[1-9][0-9]{0,3}(\.[0-9])?$|^0\.[1-9]$/
Vieille réponse, pour référence, exigences mises à jour par OP:
Si vous voulez une seule décimale, avec les valeurs autorisées existantes:
/^[1-9][0-9]{0,3}$|^[1-9][0-9]{0,3}[\.][0-9]$|^0\.[1-9]$/
Si seulement la décimale puis:
/^0\.[1-9]$/
Si plusieurs décimales puis:
/^[1-9][0-9]{0,3}$|^[1-9][0-9]{0,3}[\.][0-9]$|^0\.[1-9][0-9]*$/
ou
/^0\.[1-9][0-9]*$/
@orbling: Il accepte plus d'un nombre décimal après le point – Someone
@Derby: Modifié avec plusieurs versions décimales. Notez qu'il va bloquer 0.05, si vous avez besoin de valeurs inférieures à 0.1, alors il a besoin d'une autre clause. – Orbling
@orbling: J'ai besoin de quelque chose comme ça une seule décimale est valide après le point qui est 1.9 et 2.9 mais pas 2.99 (invalide) et 0.1 est valide – Someone
un à quatre chiffres, avec ou sans précision décimale de 1:
/^[1-9][0-9]{0,3}(\.[0-9])?$/
0,1 par 0,9, l'étape 0.1:
/^0\.[1-9]$/
/^[1-9][0-9]{0,3}(\.[0-9])?$|^0\.[1-9]$/
Cela ne vraiment ressemble pas à un problème de regex: vous seriez bien mieux (du point de vue de la maintenabilité et la lisibilité) traiter vos numéros comme numéros et faire un simple vérification de gamme:
var isValid = function (x) {
// Make sure we're dealing with a number
x = parseFloat(x);
// If x is greater than zero but less than 0.9
// this expression evaluates to true so the
// function returns true, otherwise it evaluates
// to false so the function returns false.
return (x > 0 && x <= 0.9);
};
bien sûr, il n'utilise pas regexes (qui est ce que vous demandiez) mais il n'y a aucune raison de les utiliser pour résoudre ce problème (surtout parce qu'il est beaucoup plus facile à résoudre en utilisant la méthode ci-dessus)
Même si je suis d'accord avec vous, ce n'est pas vraiment ce qu'il a demandé, n'est-ce pas? : | – jcolebrand
Non, ce n'est pas le cas, mais il n'y a aucune raison de ne pas recommander une méthode meilleure/plus correcte, n'est-ce pas? – xj9
- 1. Expression régulière pour correspondre à une plage de valeurs décimales
- 2. Expression régulière pour correspondre à un nom
- 3. expression régulière pour correspondre à un modèle
- 4. expression régulière pour correspondre à des fichiers
- 5. Expression régulière pour correspondre à 12 heures
- 6. Expression régulière pour correspondre jusqu'à 10 chiffres
- 7. Expression régulière pour correspondre uniquement aux lettres
- 8. Python expression régulière pour correspondre fichier date.txt
- 9. Expression régulière pour correspondre à une plage de dates
- 10. Expression régulière pour correspondre à la spécification de dimension
- 11. Expression régulière pour correspondre à une chaîne de connexion ssh
- 12. expression régulière pour correspondre à une chaîne de connexion ldap
- 13. PHP expression régulière pour correspondre à une filepath
- 14. Expression régulière php pour correspondre à un modèle d'URL spécifique
- 15. Expression régulière pour correspondre à des adresses e-mail
- 16. Expression régulière pour correspondre à des URL relatives - II
- 17. Expression régulière pour correspondre à plusieurs occurrences d'un caractère
- 18. Expression régulière pour correspondre à adresse IP + caractère générique
- 19. Expression régulière pour correspondre à des montants en dollars
- 20. Expression régulière pour correspondre à 'R33' et 'r34E'
- 21. Expression régulière pour correspondre à la chaîne commençant par "stop"
- 22. Php expression régulière pour correspondre à une div
- 23. Php expression régulière pour correspondre à une div
- 24. Expression régulière PHP pour correspondre au prix ou au montant
- 25. Expression régulière pour correspondre aux déclarations de variables T-SQL
- 26. expression régulière pour faire correspondre une liste de chaînes
- 27. Expression régulière pour faire correspondre un numéro de téléphone
- 28. Expression régulière pour correspondre maximium de cinq mots
- 29. expression régulière pour correspondre urls de site spécifique
- 30. Expression régulière, faire correspondre les caractères entre {}
Essayez-vous de valider un valeur décimale pour voir si ce n'est pas 0.0? – BoltClock
Quelles valeurs devraient ou ne devraient pas être acceptées? –
@Bolt: Iam cherche à accepter ces valeurs 0.1.0.2 et ainsi de suite et 0.0 n'est pas valide pour mon domaine que iam en mesure de valider – Someone