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]);
}