본문 바로가기

Development/Coding

자바스크립트로 숫자만 판단할 경우

isNaN() 은 숫자와 컴마, 도트, 대쉬 등을 모두 숫자로 처리한다. 따라서 사용할수 없다.

정규식과 정규식 테스트 함수를 사용하는 편이 좋다. 

var onlyNumber = /[^0-9]/gi; 로 정규식 객체 변수 선언하고
onlyNumber.test(vars); 로 확인한다.

var onlyNumber = /[^0-9]/gi; //정규식 onlyNumber.test(vars)

if ( $.trim(rcvareaname) == '' ) {
alert('배송지명을 입력해주세요.');
$("#frm_inp input[name=inpareaname]").focus();
return;
} else if ( $.trim(rcvname) == '' ) {
alert('받으시는 분을 입력해주세요.');
$("#frm_inp input[name=inprcvname]").focus();
return;
} else if ( $.trim(dlvzip1) == '' ||  $.trim(dlvzip2) == '' || $.trim(dlvaddr1) == '' ) {
alert('주소를 검색 후 입력해주세요.');
$("#frm_inp input[name=inpsearch]").focus();
return;
} else if ( $.trim(dlvaddr2) == '' ) {
alert('나머지 주소를  입력해주세요.');
$("#frm_inp input[name=inpaddr2]").focus();
return;
} else if ( onlyNumber.test($.trim(dlvtel2)) || ($.trim(dlvtel2).length < 3 || $.trim(dlvtel2).length > 4) ) {
alert('연락처를 3~4자리 숫자로 입력해주세요.');
$("#frm_inp input[name=inptel2]").focus();
return;
} else if ( onlyNumber.test($.trim(dlvtel3)) || ($.trim(dlvtel3).length < 3 || $.trim(dlvtel3).length > 4) ) {
alert('연락처를 3~4자리 숫자로 입력해주세요.');
$("#frm_inp input[name=inptel3]").focus();
return;
} else if ( onlyNumber.test($.trim(dlvpcs2)) || ($.trim(dlvpcs2).length < 3 || $.trim(dlvpcs2).length > 4) ) {
alert('연락처를 3~4자리 숫자로 입력해주세요.');
$("#frm_inp input[name=inppcs2]").focus();
return;
} else if ( onlyNumber.test($.trim(dlvpcs3)) || ($.trim(dlvpcs3).length < 3 || $.trim(dlvpcs3).length > 4) ) {
alert('연락처를 3~4자리 숫자로 입력해주세요.');
$("#frm_inp input[name=inppcs3]").focus();
return;
}

프로토타입으로 선언해두면 맴버함수처럼 사용할 수있으니 참고해 두자.

String.prototype.isNum = function(){
    var pattern = /[0-9]+$/;
    return pattern.test(this);
}

String.prototype.trim = function() { 
return this.replace(/(^\s+)|(\s+$)/g, '');
}

// byte count ( 2byte 문자 포함 )
String.prototype.bytes = function() { 
    var str = this; 
    var len = 0;
    for (var i = 0; i < str.length; i++) {
     len += (str.charCodeAt(i) > 128) ? 2 : 1;
    }
    return len;
}

// byte 만큼 문자열자르기
String.prototype.cut = function(len) {
    var str = this; 
    var s = 0;
    for (var i = 0; i < str.length; i++) {
        s += (str.charCodeAt(i) > 128) ? 2 : 1;
        if (s > len) {
         return str.substring(0,i);
        }       
    }
    return str;
}






'Development > Coding' 카테고리의 다른 글

자주 쓰이는 jQuery AJAX 예제  (1) 2010.09.29
스크롤 이벤트 활용  (1) 2010.09.12
JQTouch 치트쉬트  (0) 2010.08.14
자바스크립트 객체  (0) 2010.08.05
자바스크립트 배열 관련  (0) 2010.08.03