9
votes

Validation du numéro de téléphone Expression régulière consistent à un signe plus Connexion Démarrer et précédent des chiffres

J'essaie de valider le numéro de téléphone mais je ne peux pas.

Mon exigence est le numéro de téléphone consiste uniquement à des chiffres et de + (symbole plus). Le + ne peut être que le premier caractère. P>

Par exemple: +123456489 P>

J'utilise cette expression régulière, mais cela ne fonctionne pas: p>

/^\+(?:[0-9]??)$/


0 commentaires

6 Réponses :


14
votes

J'utiliserais cela à la place:

^\+?\d*$


2 commentaires

seul chiffre et plus signe est autorisé.


@Sami dans ce cas, encore plus simple: ^ \ +? \ D * $



2
votes
\+[0-9]+
Try the above regex. You can test here http://gskinner.com/RegExr/. Are you also looking to validate length?

0 commentaires

-2
votes

Vous pouvez essayer ceci ^ + [1-9] {1} [0-9] {10} $


6 commentaires

Pourquoi [1-9] {1} alors [0-9] {10} après?


Je suppose que c'est de forcer le premier chiffre à être différent de 0. Le bit '{1}' ne fait pas grand chose.


Tous les numéros de téléphone ne commencent-ils pas avec un 0 cependant?


Eh bien, je ne sais pas, mais je pense que lorsque vous avez + (plus signe), vous n'avez pas de 0. Je viens de souligner le sens de cette regex.


+ Connexion La regex vous permet d'utiliser '+' au lieu de '00'


@Henrytshobo L'accord était concernant '[1-9] {1}' et '[0-9] {10}' bits, sauf si vous voulez un numéro comme +012345678.



7
votes

à quoi ça se passe? xxx

fonctionne bien avec des étuis de test ci-dessous:

 string test

Vous pouvez le tester ici: https://regex101.com/r/ms9gd7/39


0 commentaires

4
votes

Si vous souhaitez uniquement autoriser le signe + et qui n'est qu'au début du numéro et ne veut pas permettre à d'autres caractères ou symboles d'autre que les chiffres, essayez la regex ci-dessous: xxx


0 commentaires

2
votes

^ [0-9] + [0-9] * $ essayez ceci son travail


2 commentaires

Merci pour votre réponse! Serait bien si vous avez fourni des explications sur la manière et pourquoi cela fonctionne cependant.


Il doit y avoir un + au début et pourquoi 2 classe de caractères lorsque un seul est nécessaire?