2010-04-23 3 views

Répondre

7
$pattern = '/^[0-9 ]+$/'; 

if (preg_match ($pattern, $text)) 
{ 
    echo 'allowed'; 
} 

Edit:

Si vous souhaitez limiter à 15 caractères (comme vous l'avez mentionné dans un commentaire) vous pouvez utiliser {} pour délimiter une min et une longueur max.

motif

devient:

$pattern = '/^[0-9 ]{1,15}$/'; 

pour permettre 1 à 15 caractères.

4

Cela devrait fonctionner:

^[\s\d]*$ 

Vous devez spécifier probablement si vous voulez « zéro ou plus » ou « un ou plusieurs » espaces. Ce qui précède autorise une chaîne vide pour réussir l'évaluation.

+0

Celui-ci est exactement comme celui que j'ai posté, mais permet aux chaînes vides de passer, et les tabulations à la place des espaces, si elles se produisent. – DevelopingChris

+0

\ s permet tous les types de caractères, en supposant qu'il ne veut autoriser que 'l'espace' (0x32) ce n'est pas suffisant. –

5

La regex est la suivante.

/^[\d ]+$/i 

Pour répondre à la façon dont vous l'exécutez en php, je dois connaître le contexte, avez-vous besoin de fonctionner sur une seule ligne ou entrée multi ligne? en avez-vous besoin pour courir en boucle?

+0

seule ligne seulement environ 15 caractères seulement – Avinash

Questions connexes