J'ai eu quelques problèmes avec les expressions régulières.
C'est mon code
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
Je le lance et reçois:
Attention: preg_match () [function.preg-match]: Aucun séparateur final '^' trouvé dans
Les chaînes de regex PHP ont besoin de délimiteurs. Essayer:
$numpattern="/^([0-9]+)$/";
Notez également que vous avez un minuscule o, pas un zéro. De plus, si vous ne faites que valider, vous n’avez pas besoin du groupe de capture et pouvez simplifier la regex en /^\d+$/
.
Exemple: http://ideone.com/Ec3zh
Voir aussi: PHP - Délimiteurs
Votre modèle de regex doit être dans les délimiteurs:
$numpattern="/^([0-9]+)$/";
Vous pouvez utiliser bibliothèque T-Regx , cela n'a pas besoin de délimiteurs
pattern('^([0-9]+)$')->match($input);