I've been having some trouble with regular expressions.
This is my code
$pattern = "^([0-9]+)$";
if (preg_match($pattern, $input))
echo "yes";
else
echo "nope";
I run it and get:
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in
This question is related to
php
regex
preg-match
pcre
PHP regex strings need delimiters. Try:
$numpattern="/^([0-9]+)$/";
Also, note that you have a lower case o, not a zero. In addition, if you're just validating, you don't need the capturing group, and can simplify the regex to /^\d+$/
.
Example: http://ideone.com/Ec3zh
See also: PHP - Delimiters
You can use T-Regx library, that doesn't need delimiters
pattern('^([0-9]+)$')->match($input);
Your regex pattern needs to be in delimiters:
$numpattern="/^([0-9]+)$/";
Source: Stackoverflow.com