php金額校驗函數


在開發過程中,多多少少都會遇到金額值得校驗,被測試員攆着屁股走,每次都給我提這個問題,不善其擾。簡單正則已經無法做到排除-0,0,0.00,01,0001 等值。因此寫一個通用函數來判斷是否為正確得金額格式:

/**            
 * 金額校驗函數
 * @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;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM