Skip to content
Advertisement

PHP regular expression – filter number only

I know this might sound as really dummy question, but I’m trying to ensure that the provided string is of a number / decimal format to use it later on with PHP’s number_format() function.

How would I do it – say someone is typing 15:00 into the text field – what regular expression and php function should I use to remove the colon from it and make it only return the valid characters.

preg_match() returns array – so I can’t pass the result to number_format() unless I implode() it or something like this.

Your help would be very much appreciated.

Advertisement

Answer

Using is_numeric or intval is likely the best way to validate a number here, but to answer your question you could try using preg_replace instead. This example removes all non-numeric characters:

$output = preg_replace( '/[^0-9]/', '', $string );
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement