7
votes

Validation des regex pour les chiffres avec séparateur de virgule

Besoin d'une expression régulière pour valider le numéro avec séparateur de virgule. 1,5,10,55 est valide mais 1 , 10 n'est pas valide.


2 commentaires

En tant que note latérale - une regex peut valider votre entrée, mais ne pas analyser (sauf si vous correspondez pour \ d + ). Si votre prochaine étape consiste à scinder la chaîne, vous pourriez aussi bien diviser avant de la valider. Ensuite, qu'est-ce que JQuery l'adapte-t-il? Est-ce un plugin de validation?


Oui, je veux valider une chaîne à l'aide du plug-in jquery Validation.


3 Réponses :


18
votes

Cela devrait le faire:

^\d+(,\d+)*$


0 commentaires

10
votes

Voici les composants de la regex que nous allons utiliser:

  • \ d est le raccourci de la classe de caractères chiffre
  • + est un spécificateur de répétition un ou plus
  • * est un spécificateur de répétition zéro ou davantage
  • (...) effectue un regroupement
  • ^ et $ sont le début et la fin des ancrages de la ligne respectivement

    Nous pouvons maintenant composer la regex dont nous avons besoin: xxx

    c'est: xxx note que le * signifie qu'un seul numéro est autorisé. Si vous insistez sur au moins deux numéros, utilisez plutôt + à la place. Vous pouvez également remplacer \ d + avec un autre modèle pour le numéro pour permettre par exemple. Partie de signe et / ou fractionnée.

    Références


0 commentaires

-1
votes
^[0-9]*(,){1}[0-9]*/
try this

1 commentaires

Eh bien, {1} est redondant, de même que le groupe de capture. C'est la même chose que \ d *, \ d * - il doit avoir une seule virgule, avec des chiffres facultatifs autour de celui-ci; Pas tout à fait la demande ici. Il accepte , , 12,34 , , 34 et rejette 1 , 1,2, 3 .