JS進行數值計算 javascript
function checkCent(id, sort){ var maxcent = id.split("_")[2]; var centValue = $("#"+id).val(); if("kfx"==sort){ var patrn = /^(-(0|[1-9]\d*))$|^(-(0|[1-9]\d*)\.\d{0,2})$/; var patrnz = /^(0|[1-9]\d*)$|^(0|[1-9]\d*)\.\d{0,2}$/ if(!patrn.exec(centValue) && !patrnz.exec(centValue)){ $("#"+id).val("0.0"); alert("請輸入正確的負數!"); $("#"+id).css('background','#FF0000'); return false; }else{ if(maxcent!=""&&(parseFloat(centValue)>parseFloat(maxcent)||parseFloat(centValue)<parseFloat("-"+maxcent))){ $("#"+id).val("0.0"); alert("輸入分數"+centValue+"超過指標分值"+maxcent+"!"); $("#"+id).css('background','#FF0000'); return false; } if(!patrn.exec(centValue)){//非負數 系統自動轉換成負數 $("#"+id).val("-"+centValue); } $("#"+id).css('background','white'); } }else if("jfx"==sort){ patrn = /^(0|[1-9]\d*)$|^(0|[1-9]\d*)\.\d{0,2}$/; if(!patrn.exec(centValue)){ $("#"+id).val("0.0"); alert("請輸入正確的非負數!"); $("#"+id).css('background','#FF0000'); return false; } if(maxcent!=""&&parseFloat(centValue)>parseFloat(maxcent)){ $("#"+id).val("0.0"); alert("輸入分數"+centValue+"超過指標分值"+maxcent+"!"); $("#"+id).css('background','#FF0000'); return false; } $("#"+id).css('background','white'); } //進行分數總計 var centArr= $("input:text[name='cent']"); var centtotal = 100.0; $.each(centArr, function(i, n){ var centid = n.id; var agreementid = centid.split("_")[0]; if(agreementid == id.split("_")[0]){ if("jfx"==sort){ centtotal += parseFloat($("#"+centid).val()); }else if("kfx"==sort){ centtotal += parseFloat($("#"+centid).val()); } if(centtotal > 100.0){ $("#"+agreementid+"_totalScore").val(100.0); }else{ $("#"+agreementid+"_totalScore").val(centtotal); } } }); }