<script>
function formatCurrency(arg){
n=String(arg)
//소수점 파싱 시작
o=n.split(".")[0]
p=n.split(".")[1]
//파싱 끝
n=""
//사용자가 임의로 넣은 콤마(,)제거
while(o.indexOf(",")!=-1){
o=o.replace(",","")
}
//제거 끝
//소수점 이상 부분 변환
d=o.length%3
for(i=0;i<o.length;i++){
if(i%3==d){
n+=","
}
n+=o.charAt(i)
}
if(!d){n=n.replace(n.charAt(0),"")}
//변환 끝
//"소수점 이하가 있다면"조건부 시작
if(p){n+="."+p}
//조건부 끝
return n
}
function myFunction(obj){
obj.oldValue=obj.value
obj.value=formatCurrency(obj.value)
obj.dir="rtl"
}
function myFunction2(obj){
if(obj.oldValue){
obj.value=obj.oldValue
}
obj.select()
obj.dir="ltr"
}
</script>
<style>
input{border:solid 1px black}
</style>
<body>
<input type=text dir="rtl" onfocus="myFunction2(this)" onblur="myFunction(this)"><br>
<input type=text dir="rtl" onfocus="myFunction2(this)" onblur="myFunction(this)"><br>
<input type=text dir="rtl" onfocus="myFunction2(this)" onblur="myFunction(this)"><br>
<input type=text dir="rtl" onfocus="myFunction2(this)" onblur="myFunction(this)"><br>
vbscript에는 FormatCurrency()라는 자체 내장 함수가 있습니다<br>
javascript에는 위와 같은 함수가 없기때문에 넷스케잎과의 호환을 위해<br>
formatCurrency()라는 함수를 만들어 사용했습니다<br>
저는 엑셀 워크쉬트처럼 보이게 만들었는데 맘에 들지 모르겠네요<br>
<input type=text>엘리먼트의 어트리뷰트중 dir(direction의 약자같죠?)의 속성은<br>
ltr(left to right)과 rtl(right to left)이 있습니다<br>
테스트는 ie5.5 와 nn6(6.01)에서 했습니다
</body>
-[김형진님제공]
function formatCurrency(arg){
n=String(arg)
//소수점 파싱 시작
o=n.split(".")[0]
p=n.split(".")[1]
//파싱 끝
n=""
//사용자가 임의로 넣은 콤마(,)제거
while(o.indexOf(",")!=-1){
o=o.replace(",","")
}
//제거 끝
//소수점 이상 부분 변환
d=o.length%3
for(i=0;i<o.length;i++){
if(i%3==d){
n+=","
}
n+=o.charAt(i)
}
if(!d){n=n.replace(n.charAt(0),"")}
//변환 끝
//"소수점 이하가 있다면"조건부 시작
if(p){n+="."+p}
//조건부 끝
return n
}
function myFunction(obj){
obj.oldValue=obj.value
obj.value=formatCurrency(obj.value)
obj.dir="rtl"
}
function myFunction2(obj){
if(obj.oldValue){
obj.value=obj.oldValue
}
obj.select()
obj.dir="ltr"
}
</script>
<style>
input{border:solid 1px black}
</style>
<body>
<input type=text dir="rtl" onfocus="myFunction2(this)" onblur="myFunction(this)"><br>
<input type=text dir="rtl" onfocus="myFunction2(this)" onblur="myFunction(this)"><br>
<input type=text dir="rtl" onfocus="myFunction2(this)" onblur="myFunction(this)"><br>
<input type=text dir="rtl" onfocus="myFunction2(this)" onblur="myFunction(this)"><br>
vbscript에는 FormatCurrency()라는 자체 내장 함수가 있습니다<br>
javascript에는 위와 같은 함수가 없기때문에 넷스케잎과의 호환을 위해<br>
formatCurrency()라는 함수를 만들어 사용했습니다<br>
저는 엑셀 워크쉬트처럼 보이게 만들었는데 맘에 들지 모르겠네요<br>
<input type=text>엘리먼트의 어트리뷰트중 dir(direction의 약자같죠?)의 속성은<br>
ltr(left to right)과 rtl(right to left)이 있습니다<br>
테스트는 ie5.5 와 nn6(6.01)에서 했습니다
</body>
-[김형진님제공]
반응형
'인터넷정보' 카테고리의 다른 글
이미지에 섬광 효과 주기 (0) | 2007.10.18 |
---|---|
이미지에 섬광 효과 주기 (0) | 2007.10.18 |
자바스크립트와 테이터베이스 연동 (0) | 2007.10.18 |
자바스크립트와 테이터베이스 연동 (0) | 2007.10.18 |
TextField의 Align - 텍스트 정렬 및 콤마 찍기 (0) | 2007.10.18 |
텍스트 애니메이션 (0) | 2007.10.18 |
텍스트 애니메이션 (0) | 2007.10.18 |
웹페이지 대화상자 (부모창 위에 새창이 항상 최상위에 존재) (0) | 2007.10.18 |
웹페이지 대화상자 (부모창 위에 새창이 항상 최상위에 존재) (0) | 2007.10.18 |
input 또는 폼안의 포커스 이동 및 글자 길이 제한 (0) | 2007.10.18 |