텍스트박스 천단위 콤마 찍기(이벤트 응용)
천단위 콤마 + 수정시 다시 콤마 찍기 + 더블클릭시 0으로 초기화 + 붙여넣기시 숫자외 방지(클립보드 변경) + 공백일경우 0 삽입 + 입력가능 수 백만단위 제한.
<%--
/************************************************************/
/* 숫자만 입력해주는 스크립트 */
/************************************************************/
--%>
function getOnlyNumberKey() {
if ((event.keyCode >=48 && event.keyCode <=57) // 자판 0~9
|| (event.keyCode == 8) // back space
)
{
event.returnValue = true;
} else {
event.returnValue = false;
}
}
<%--
/************************************************************/
/* 숫자가 0일경우 공백으로 리턴 */
/************************************************************/
--%>
function zeroNullChange(num) {
var retNum;
if(num==0){
retNum = "";
}else{
retNum = num;
}
return retNum;
}
<%--
/************************************************************/
/* 천단위 콤마찍기 */
/************************************************************/
--%>
function num_format(n) {
var pre_reg = /[^0-9]/gi;
n = String(n);
n = n.replace(pre_reg, '');
var reg = /(^[+-]?\d+)(\d{3})/; // 정규식
n = String(n); // 숫자를 문자열로 변환
while (reg.test(n))
n = n.replace(reg, '$1' + ',' + '$2');
return n;
}
<%--
/************************************************************/
/* 천단위 콤마제거 */
/************************************************************/
--%>
function del_Comma(n) {
var pre_reg = /[^0-9]/gi;
n = String(n);
n = n.replace(pre_reg, '');
return n;
}
<%--
/************************************************************/
/* 숫자외 문자 걸러내고 클립보드 데이터 변경 */
/************************************************************/
--%>
function notNumberFormatReplace(str){
var reg = /[^0-9]/gi;
var clipData = window.clipboardData.getData("Text"); //클립보드 데이터 가져오기
clipData = String(clipData);
if(window.event.ctrlKey && window.event.keyCode == 86) {
clipData = clipData.replace(reg, '');
window.clipboardData.setData('Text',clipData);
return clipData;
}else{
return str;
}
}
사용법
onkeypress="this.value=del_Comma(this.value);getOnlyNumberKey();if(this.value==0){this.value='';}"
onKeyUp="if(this.value==''){this.value='0'}else{this.value=num_format(this.value);}"
onkeydown="this.value=notNumberFormatReplace(this.value);"
onblur="this.value=num_format(this.value); if(this.value=='') this.value='0';"
onFocus="this.value=zeroNullChange(this.value);"
ondblclick="if(this.value!=0){this.value='';}"
style="text-align:right;ime-mode:disabled;width:100%;color:#0678F9;border:1px solid #C0C0C0;padding:0px 0;height:18px;line-height:18px;">
'-=-= 컴퓨터 =-=- > 웹프로그래밍' 카테고리의 다른 글
자바스크립트 예제소스 모음 링크 (0) | 2012.03.14 |
---|---|
html을 excel 다운시 서식설정법 (0) | 2012.01.25 |
[자바스크립트] 클립보드 붙여넣기할때 숫자만 걸러내기 (0) | 2012.01.20 |
[이벤트] onKeyUp OnKeyDown onKeyPress 차이 (0) | 2012.01.19 |
한글 <->유니코드 변환 (0) | 2011.12.28 |