我有一个金额字段,该字段始终为正数,没有小数点,例如10000、1200、10、40等。 我正在使用下面的代码检查有效金额。
if (!preg_match('/^[1-9][0-9]*$/', $_POST['amount'])) {
$error[] = 'Invalid amount';
}
是对的。而且,我是否需要使用php的空函数单独检查空的帖子数量,还是在preg_match
以上也检查空的字符串数量?
答案 0 :(得分:2)
为什么不简单地使用filter_var()
,例如:
if (!abs(filter_var($_POST['amount'], FILTER_VALIDATE_FLOAT))) {
$error[] = 'Invalid amount';
}
答案 1 :(得分:0)
当转换为绝对int值时,我将字符串与自身进行比较。它更具可读性和可维护性。
if ($_POST['amount'] !== abs(intval($_POST['amount']))) {
$error[] = 'Invalid amount';
}