>  기사  >  웹 프론트엔드  >  js 금액 텍스트 상자 구현 code_form 특수 효과

js 금액 텍스트 상자 구현 code_form 특수 효과

WBOY
WBOY원래의
2016-05-16 17:56:071021검색
사례 1: 탭 점프를 구현하기 위해 입력합니다.
텍스트 상자의 onKeyDown 이벤트에 대한 응답으로 window.event.keyCode는 사용자가 클릭한 keyCode를 가져옵니다.
(*) keyCode와 ASCII는 기본 키보드의 1과 소형 키보드의 1의 ASCII가 동일하지만 keyCode가 다릅니다. Enter의 keyCode는 13이고 Tab의 keyCode는 9입니다.

몇 개의 키만 교체할 수 있으며 대부분은 교체할 수 없습니다. 권한 문제입니다.
키보드 코드는 ASCII 코드와 다릅니다.
keyCode
8: 백스페이스 키
46: 삭제
37-40: 방향 키
48-57: 작은 키보드 영역의 숫자
96-105: 메인 키보드 영역 숫자
110, 190: 작은 키보드 영역과 메인 키보드 영역의 소수점
189, 109: 작은 키보드 영역과 메인 키보드 영역의 마이너스 기호
13: Enter
9: 탭이 그 핸들 포커스가 다음 텍스트 상자로 이동합니다.
사례 2: 금액 텍스트 상자
금융 관련 시스템에서 금액을 포함하는 텍스트 상자에는 다음과 같은 요구 사항이 있습니다.
금액 텍스트 상자 입력 시 중국어 입력 방법을 사용하지 마세요
숫자 이외의 항목은 입력할 수 없습니다.
초점이 텍스트 상자에 있으면 텍스트 상자는 왼쪽 정렬되고, 초점이 텍스트 상자를 벗어나면 텍스트 상자는 오른쪽 정렬되고 천분의 일 단위가 표시됩니다.
입력 방법 비활성화 : style="ime-mode:disabled" //FF, IE와 호환되지만 Chrome과 호환되지 않습니다
잘못된 값을 입력하는 것은 금지되어 있으며 이러한 값만 입력할 수 있습니다. (k == 9) || 13) || (k==46)||(k==8)|(k==189)||(k==109)||(k==190)||(k==110) || (k>=48 && k= 96 && k=37 && k붙여넣기 비활성화(훌륭한 테스터), 포커스가 켜져 있을 때는 천 번째 자리 없이 왼쪽 정렬되고, 포커스가 없을 때는 천 번째 자리로 오른쪽 정렬됩니다. this.style.textAlign='right'
천분의 일 더하기 방법은 참고(*)를 참조하세요
========보충지식============= = =====
(?=exp)는 exp 앞의 위치와 일치합니다.
(?=exp)는 너비가 0인 긍정적 예측 어설션이라고도 합니다. 나타나는 위치입니다. 예를 들어, w(?=ingb)는 ing(ing 제외)으로 끝나는 단어의 앞부분과 일치합니다. 예를 들어 I'm sing while you're dance.를 검색하면 sing 및 dance와 일치합니다.
===============================
코드 복사 코드는 다음과 같습니다.

function f(){
var txts=document.getElementsByTagName('input')
for (var i= 0;i//Enter를 탭으로 변환
txts[i].onkeydown=function(){
if(window.event.keyCode= =13){
window.event.keyCode=9;
}
}
txts[i].onpaste=function(){
var usrInput=clipboardData.getData('Text' );
var k;
for(var i=0;ik=usrInput.charCodeAt(i);//붙여넣기만 가능합니다. 0-9 숫자는 ASCII 문자 집합을 참조합니다.
if((k==46) ||(k>=48 && k<=56)){
}else{
return false
}
}
}
}
}

천(연습 코드):

코드 복사 코드는 다음과 같습니다:
function commafy(n)
{
var re=/d{1,3}(?=(d{3}) $)/g; / /는 d{3}으로 끝나야 하고, 앞에 1~3개의 숫자가 와야 하지만, 교체 시 끝의 d{3} 숫자는 포함되지 않습니다. var n1=n.replace(/^(d )((.d )?)$/,function(s,s1,s2){return s1.replace(re,“$&,”) s2;})
n1 반환
}
function addQianFenWei(txtBox)
{
txtBox.value=commafy(txtBox.value);
}
function RemoveQianFenWei(txtBox)
{
txtBox.value=txtBox.value.replace(/,/g,"");//replace(',','')가 첫 번째 항목만 바꾸는 경우
}


코드 복사 코드는 다음과 같습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.