바라기의 이야기

필드에 숫자값으로 입력되었는지 체크하는 코드 본문

Develop/Javascript

필드에 숫자값으로 입력되었는지 체크하는 코드

baragi76 2010. 3. 16. 09:50

function NumberOnly()
{
        var input_key = event.keyCode;
        if (!(IsNumber( input_key )))
        {       
                event.keyCode = '0';
                return false;
        }
}
function IsNumber( inputValue )
{
                if (inputValue >= '48' && inputValue <= '57') return true;
                else         return false;
}
function _Currency(num)
{        
        if(num == "" || num == 0)
        {
                return num;        
        }
        var dotPos = (num+"").split(".");
        var dotU = dotPos[0];
        var dotD = dotPos[1];
        if (Number(dotU) < 0)
        {
                dotU  = (Number(dotU) * -1) + "";
                var minus = true
        }
        else
        {
                var minus = false
        }
        var commaFlag = dotU.length%3
        if(commaFlag)
        {
                var out = dotU.substring(0, commaFlag)
                if (dotU.length > 3)
                {
                        out += ",";
                }
        }
        else
        {
                var out = "";
        }
        for (var i=commaFlag; i < dotU.length; i+=3)
        {
                out += dotU.substring(i, i+3);
               
                if( i < dotU.length-3)
                {
                        out += ",";
                }
        }
       
        if(minus)
        {
                out = "-" + out;
        }
       
        if(dotD)
        {
                out +=  "." + dotD ;
        }
       
        return out;
}
function _Reverse(str)
{
        if(str == null)
                return null;
        var s = str;
        var r = '';
        for(i=str.length; i>0; i--)
                r += s.charAt(i-1);
        return r;
}
function _CurrencyClear(s)
{
        var cntArray = new Array();
        for( var i = 0 ; i < s.length ; i++)
        {
                cntArray[i] = s.indexOf(",");
                s = s.replace(",","");
        }
        return s;
}
function setCurrency(objName)
{        
        var input = document.getElementById(objName);
        if ( input.value.length == 0 )
        {
                return;
        }
        var amt = 0;
        if(input.value.length != 0 )
        {
                amt = fillZero(input.value, input.format);
        }
        input.value =        _Currency(amt);
}
function focusCurrency(objName)
{
        var input = document.getElementById(objName);
        if ( input.value.length == 0 )
        {
                return;
        }
        input.value = Number(_CurrencyClear(input.value));
        input.select();
}
function fillZero(input, type)
{
        //input이 숫자타입으로 넘어올 때
        //에러가 남. 그래서 스트링 타입으로 변환해야 함
        if ( !type )
        {
                return input+"";
        }
        var format = type.split('.');
        var value = (input+"").split('.');
       
        if ( Number(format[1]) == 0 )
        {
                return input+"";
        }       
        if (!value[1])
        {       
                value[1] = "";
        }
       
        //소수점 이하가 포맷보다 클 경우는
        //그냥 반올림하여 리턴한다
        if (value[1].length > Number(format[1]))
        {
                 return (Number(input).toFixed(Number(format[1])));
        }
        //소수점 자리수에 맞게 '0'을 채워준다
        //예를 들면 데이타 형식이 5.2일 경우
        //입력값이 '50'이면 '50.00'으로 리턴한다
        while ( value[1].length < Number(format[1]) )
        {
                value[1] += "0";
        }               
       
        //value[0]을 Number 객체로 변환
        //000.000 같은 경우를 0.000으로 변환하기 위해서
        return (Number(value[0]) + "." + value[1]);
}