Regular expression. What is wrong?

From: 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

« previous php.general (#208644) next »