7
votes

Numéros et espaces - Téléphone lâche Regex

Comment vérifier si une chaîne contient uniquement des chiffres et des espaces à l'aide de RegEx?

I.e.

  1. 021 123 4567 est valide
  2. 0211234567 est valide
  3. 0211 234 567 est valide

    assez lâche, mais cela répond à mes besoins.

    suggestions?


2 commentaires

Bien sûr, les numéros de téléphone peuvent être exprimés sous forme de lettres (1-800-fleurs ou contacts ou autre)


@RYBER: C'est pour les utilisateurs numéros de téléphone cellulaire (format néo-zélandais)


4 Réponses :


0
votes

quelque chose comme: xxx


6 commentaires

Cela ne permet pas aux lettres aussi?


@Marko Vous pouvez utiliser un testeur de regex comme celui-ci pour le tester. :) Regexlib.com/reter.aspx


@Fuji, j'ai fait (celui-ci régulier-expressions.info/javascriptexample.html ) et mettre "Asdasd" revient comme le succès.


Cela correspondra toujours à n'importe quelle chaîne. \ d * correspond à "zéro ou plusieurs chiffres", et chaque chaîne a nul ou plus de chiffres.


@Marko, il ressemble en effet à celui-ci ne fonctionne pas parfaitement. :)


@Marko, vrai. HMMM, je ne peux pas sembler forcer une non-correspondance ici, tester dans Expresso.




5
votes
  • [0-9] <- Cela signifie un seul chiffre entre 0 et 9
  • [0-9] <- Cela signifie tout chiffre entre 0 et 9, ou un espace
  • [0-9] {1,} <- Cela signifie tout chiffre entre 0 et 9, ou un espace, 1 ou plusieurs fois
  • [0-9] {1,9} <- Cela signifie tout chiffre entre 0 et 9, ou un espace, 1 à 9 fois

0 commentaires