- 자바스크립트 부분


        /* 숫자입력단위 콤마(",") & 입력값 숫자체크 */

    var SetComma = function(str) {

        var regMustNumberComma = /^[0-9|,]+$/;

        var regMustNoStartZero = /^[0]/;

        

        str = str.replace(/,/g,'');

        var retValue = "";

            for( i = 1; i <= str.length; i++ ) {

                if( i > 1 && (i%3) == 1 )

                    retValue = str.charAt(str.length - i) + "," + retValue;

                else

                    retValue = str.charAt(str.length - i) + retValue;

            }

            if( regMustNoStartZero.test(retValue) == true && window.event.keyCode != 9 ) {

                alert("입력숫자는 '0'으로 시작할 수 없습니다.");

                return "";

            }

            if( regMustNumberComma.test(retValue) == false ) {

                alert("숫자만 입력하실 수 있습니다.");

                return "";

            }

            return retValue;

    };



- 입력 폼

<input type="text" class="text" name="remvlPointer" size="20" onkeyup="this.value=SetComma(this.value)" value="${dataBean.remvlPointer}"/>



- 주의사항

입력폼에 사용자가 숫자를 입력할때 동적으로 천단위로 콤마를 찍어주고 DB에 INSERT 할때에는 콤마를 제거해주는 작업을 해주고 INSERT 해야한다. 까먹지마...

- 콤마제거하는 JAVA 단 메서드(Null 체크하는 Validator.isEmpty() 는 회사프레임워크 메서드다. )


    public static String getPureNumber(String inquireParam) {


        String returnStr = "";


        if( Validator.isEmpty(inquireParam) ) {

            returnStr = String.valueOf(StringUtil.ZERO);

        }

        else{

            inquireParam = inquireParam.replaceAll(",", "");

            returnStr = inquireParam;

        }

        return returnStr;

    }

- 디비에서 SELECT 해서 화면에 뿌려줄때는 또 콤마를 찍어야 되겟지?

    public static String getDecimalFormat(long inquireParam) {

        String returnStr = "";


        DecimalFormat format = new DecimalFormat("#,##0");

        returnStr = format.format(inquireParam);


        return returnStr;

    }

+ Recent posts