+
95
-

回答

使用正则来验证是否是金额

<?php
/**
* 金额校验函数
* @param $value
* @param bool $isZero
* @param bool $negative
* @return bool
*/
function isAmount($value, $isZero=false, $negative=false){
// 必须是整数或浮点数,且允许为负
if (!preg_match("/^[-]?\d+(.\d{1,2})?$/", $value)){
return false;
}
// 不为 0
if (!$isZero && empty((int)($value*100))){
return false;
}
// 不为负数
if (!$negative && (int)($value * 100) < 0){
return false;
}
return true;
}
var_dump(isAmount(11.4));
var_dump(isAmount("12"));


网友回复

我知道答案,我要回答