`
-+lizzy+-
  • 浏览: 19096 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

固定长度数字保留小数点两位

阅读更多
修改后的方法 写道
function jsRiskKeyDown(field, maxlimit, format)
{  
    if ( !jsNull(format) )
    {
        if ( jsHangul(field) )    event.returnValue = false;
    }
    if(event.keyCode==110 || event.keyCode==190 || event.keyCode==46)
    {
        if ( field.value=="" ) field.value="0";
        
        if(!isHasComma(field.value))
        {
            field.value = field.value.substring(0,field.value.length);
            event.returnValue = false;
        }
    }
    if(event.keyCode==9)
    {
        if(field.value.charCodeAt((field.value.length-1))==46)
        {
            field.value = field.value.substring(0,field.value.length-1);
        }
        event.returnValue = true;
    }
    else
    {
        switch( format )
        {
            case "SHR" :  
                if ( event.keyCode==110 || event.keyCode==194 || (event.keyCode>=48&&event.keyCode<=57) || (event.keyCode>=96&&event.keyCode<=105)
                || event.keyCode==8 || event.keyCode==9 || event.keyCode==15 || event.keyCode==46 || event.keyCode==33
                || ( event.keyCode>=34&&event.keyCode<=39) || (event.keyCode>=39&&event.keyCode<=42) || event.keyCode==64 || event.keyCode==94
                || event.keyCode==109 || event.keyCode==190 )
                    event.returnValue = true;
                else
                    event.returnValue = false;
                break;
        }
       
        var str=field.value;
        if ( str.length > maxlimit )
        {
            if ( format == "SHR" )
            {
                if (field.value.indexOf(".") > 0) {
                    split1 = field.value.substring(0, field.value.indexOf("."));
                    split2 = ".";
                    split3 = field.value.substr(field.value.indexOf(".")+1);
                    if( event.keyCode == 110 || event.keyCode == 190){
                        event.returnValue = false;
                    }
                }
                else
                {
                    split1 = field.value;
                    split2 = ".";
                    split3 = "";
                }
                while(split1.indexOf("0")==0){
                    split1 = split1.substr(1);
                }
                field.value = split1 + split2 + split3.substring(0,1);
                if(event.keyCode==8)
                {
                    field.value = str;
                }
                if(event.keyCode==110 || event.keyCode==190 || event.keyCode==46)
                {
                    if(str.length==2)
                    {
                        field.value = split1.substring(0,2);
                    }
                }
            }
            else
            {
                field.value = field.value.substring(0, maxlimit);
            }
        }else{
            if ( format == "SHR" )
            {
                if (field.value.indexOf(".") > 0) {
                    split1 = field.value.substring(0, field.value.indexOf("."));
                    split2 = ".";
                    split3 = field.value.substr(field.value.indexOf(".")+1);
                    if( event.keyCode == 110 || event.keyCode == 190){
                        event.returnValue = false;
                    }
                }
                else
                {
                    if(field.value=="" && (event.keyCode == "110" || event.keyCode == "190")){
                        event.returnValue = false;
                    }
                    split1 = field.value;
                    split2 = "";
                    split3 = "";
                    if(split1=="0" && event.keyCode == "96"){
                        event.returnValue = false;
                    }
                    else if(split1=="0" && event.keyCode != "96" && event.keyCode != "110" && event.keyCode != "190"){
                        split1 = split1.substr(1);
                    }
                }
                field.value = split1 + split2 + split3.substring(0,1);
                 //BackSpace BackSpace
                if(event.keyCode==8)
                {
                    field.value = str;
                }
                 //KP_Decimal KP_Decimal ,period colon       ,Delete
                if(event.keyCode==110 || event.keyCode==190 || event.keyCode==46)
                {
                    if(str.length==2)
                    {
                        field.value = split1.substring(0,2);
                    }
                }
            }
        }
    }
}

function jsHangul()
{
    if ( jsNull(arguments[0].value) ) return true;
 for (var i = 0; i < arguments[0].value.length; i++)
    {
        if (arguments[0].value.charCodeAt(i) > 127)
        {
            arguments[0].value = arguments[0].value.substring(0,i);
            return false;
        }
    }
    return true;
}

function isHasComma(str)
{  
    for (var i = 0; i < str.length; i++)
    {
        if (str.charCodeAt(i) ==46 || str.charCodeAt(i) ==190 || str.charCodeAt(i) ==110)
        {
            return false;
        }
    }
    return true;
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics