hi, i'm not a regex guru myself, but the following regex should work - tabke a look at my regex test setup ... <?php $test = array( "1", "1.", "1.2", "1.23", "1.234", "1234", "1234.", "1234.5", "1234.56", "1234.567" ); // if there's a dot, we want at least one number after it. $regex = '/^\d+(.\d{1,2})?$/'; // test all or numbers ... foreach ($test as $number) { if (preg_match($regex, $number)) { echo "ok "; } else { echo "no "; } echo $number . "<br />\n"; } ?> i don't think there's a difference between \d and [0-9], but again, i am no expert ... regards, phillip -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php