PHP 正则表达式 - 仅筛选器编号
我知道这可能听起来像是一个真正的虚拟问题,但我试图确保提供的字符串是数字/十进制格式,以便稍后将其与PHP的number_format()函数一起使用。
我该怎么做 - 假设有人在文本字段中输入15:00 - 我应该使用什么正则表达式和php函数从中删除冒号并使其仅返回有效字符。
preg_match() 返回数组 - 所以我不能将结果传递给number_format(),除非我 implode() 它或类似的东西。
您的帮助将不胜感激。
我知道这可能听起来像是一个真正的虚拟问题,但我试图确保提供的字符串是数字/十进制格式,以便稍后将其与PHP的number_format()函数一起使用。
我该怎么做 - 假设有人在文本字段中输入15:00 - 我应该使用什么正则表达式和php函数从中删除冒号并使其仅返回有效字符。
preg_match() 返回数组 - 所以我不能将结果传递给number_format(),除非我 implode() 它或类似的东西。
您的帮助将不胜感激。
使用is_numeric或intval可能是在这里验证数字的最佳方法,但要回答您的问题,您可以尝试使用preg_replace。本示例删除所有非数字字符:
$output = preg_replace( '/[^0-9]/', '', $string );
删除任何不是数字的内容:
$output = preg_replace('/[^0-9]/', '', $input);
解释:
[0-9]
匹配 0 到 9 之间的任意数字(包括 0 和 9)。^
否定模式。[]
[^0-9]
preg_replace
''
preg_replace