Re: Re: Help with a regular expression for 0,1 or 2 decimal places

From: Date: Tue, 25 Oct 2005 19:19:12 +0000
Subject: Re: Re: Help with a regular expression for 0,1 or 2 decimal places
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-224653@lists.php.net to get a copy of this message
Phillip Oertel a écrit : > 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})?$/'; It would be better to escape the point, cause the point greps for everything. $regex = '/^\d+(\.\d{1,2})?$/'; Without escaping the point, it could match for '1234:567' or something else. > // 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

« previous php.general (#224653) next »