11
votes

JavaScript Regex pour valider si le numéro commence par un zéro directeur

Je dois valider certaines entrées à l'aide d'une regex.

Voici quelques cas d'utilisation des échantillons et des résultats attendus. P>

[0][0-9]


2 commentaires

Qu'en est-il du 00.1234 et 000.1234, etc.?


Les deux sont appariés aussi bien qu'ils ont un 0 comme premier caractère, et un 0-9 comme deuxième caractère.


5 Réponses :


3
votes

Vous pouvez utiliser quelque chose comme ceci: -

var a = "0001";
/^[0][0-9]/.test(a)


2 commentaires

Cela nécessite des citations, sinon JS déposera les principaux zéros du nombre (1): var a = "0001";


:) :). J'ai oublié d'ajouter des citations



3
votes

Vous pouvez essayer ce modèle, l'idée est d'utiliser des ancrages ^ code> (pour commencer) et $ code> (pour la fin) pour limiter le résultat sur ce que vous recherchez :

^0+\d*(?:\.\d+)?$


0 commentaires

13
votes

Essayez cette regex: xxx

Il correspondra à tout ce qui correspond à partir de 0 suivi d'un chiffre.

Il "correspondra". Vous appelez "invalide".

Le code de test doit le rendre plus clair: xxx


6 commentaires

Vous pouvez omettre . * $ , puisque cette partie correspond toujours


@ Pumbaa80 cool, merci! C'est spécifique à la méthode de test, non?


Nope, . * correspond à quoi que ce soit. Donc, en ajoutant * $ à la fin d'un moyen de RE:. La ligne testée doit se terminer par ... quoi que ce soit! Il peut être utile dans REs multi-ligne où foo. * $ Bar correspondrait quand une ligne contient foo et la suivante commence par bar . Cela équivaut à foo. * ^ Bar


Ah, je pense que j'ai mal compris votre question. Bien sûr, regexp.exec et string.match ou string.replace (code> donnerait des résultats différents lors de l'exception / omission . * $


@ACDCJunior au lieu d'ouvrir une nouvelle question, j'utilise votre réponse, mais comment puis-je vérifier la valeur qui devrait être un total de 11 numéros? ^ 0 [0-9] {11}. * $ J'ai essayé cela mais ne fonctionne pas.


@Can, de quoi avez-vous besoin exactement? Ceci: ^ 0 [0-9] {10} $ correspondra à 11 chiffres, où le premier doit être zéro. Est-ce ce dont vous avez besoin?



2
votes
0+[1-9][0-9]*
Matches at least one zero, followed by a nonzero digit, followed by any number of digits. Does not match the lone 0.

0 commentaires

1
votes

Celui-ci: xxx

si "0" doit être le premier caractère alors: xxx


0 commentaires