I have been trying but not sure where i am wrong
$validator = preg_match('/^\(\0\d{1})?\d{8})$/', $phone);
if($validator == true)
{
echo "Valid phonenumber";
}
else
{
echo "Invalid phonenumber";
}
CodePudding user response:
There are several issues in `^(\0\d{1})?\d{8})$:
\0matches the NUL (\x00) char)?here is trying to close an optional group, but there is no matching(before that position- The
)at the$anchor is also trying to close a group, but there is no matching(anywhere before.
I suggest just using
$validator = preg_match('/^\(0\d\)\d{8}$/', $phone);
See the regex demo. If the (0d) part is optional and can be missing, wrap that part with an optional non-capturing group, e.g.
$validator = preg_match('/^(?:\(0\d\))?\d{8}$/', $phone);
See this regex demo.
