Regular expression. What is wrong?
| From: | Kostyantyn Shakhov | Date: | Mon, 14 Feb 2005 13:32:46 +0000 |
| Subject: | Regular expression. What is wrong? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-208644@lists.php.net to get a copy of this message | ||
I have to check the phone number. I use some regular expression for
this. The phone number can contain only numbers and characters like
+,-,),( and space. The problem is when I use a Perl-style all works as
intended but when I use a Posix-style I've got the Warning: ereg():
REG_ERANGE and the result is opposite to intended one. What is wrong
in the following?
<?php
$test_phone = "8 (044) 419-0567";
if(preg_match("/^[+]?[\d\-\040\)\(]+$/", $test_phone))
{
echo "valid phone<br />";
}
else
{
echo "not valid phone<br />";
}
if(ereg("^[+]?[0-9\-[:space:]\)\(]+$", $test_phone))
{
echo "valid phone<br />";
}
else
{
echo "not valid phone<br />";
}
?>
--
Best regards,
Kostyantyn Shakhov mailto:shakhov@fresh-design.net