[개발] 프로그램 지식

[js] 자바스크립트 소수점 처리 코드 / JavaScript decimal handling code

  • -
반응형


function fnEtcClassEvent(){
	$("#injungSisu").each(function(){
		// .(마침표)가 양끝에 있는 케이스를 처리
		$(this).off('blur').on('blur',function(e){
			var value = $(this).val();
			var regExp = /^\.|\.$/;
			if(regExp.test(this.value)){
			    $(this).val(value.replace('.',''));
			}
		});
		
		// 소수점 첫째자리까지의 실수만 입력 허용
		$(this).off('input').on('input',function(e){
			var value = $(this).val();
			var regExp = /^\d{0,10}(\.\d{0,1})?$/;
			if(!regExp.test(this.value)){
			    $(this).val(value.substring(0,value.length-1));
			}
		});
		
		// 숫자와 .(마침표)만 입력 허용
		$(this).off('keypress').on('keypress',function(e){
			e = e || window.event;
			var charCode = e.which || e.keyCode;
			if (!((charCode >= 48 && charCode <= 57) || charCode === 46)){
			    return false;
			}
		});
	});
}














// 숫자와 .만 입력할수 있도록
	function isNumberKey(event) {
		var charCode = (event.which) ? event.which : event.keyCode;
		var value = event.srcElement.value;
		
		// 숫자와 .만 입력할수 있도록
		if (event.keyCode < 48 || event.keyCode > 57) {
			if (event.keyCode != 46) {
				return false;
			}
		}
		
		// . 두번이상 나오지 못하게
		var pattern = /^\d*[.]\d*$/;
		if (pattern.test(value)) {
			if (charCode == 46) {
				return false;
			}
		}
		
		// 소수점 첫번째
		var pattern1 = /^\d*[.]\d{1}$/;
		if (pattern1.test(value)) {
			alert('소수점 첫번째 자리까지만 입력가능합니다.');
			return false;
		}
		
		// 100점 이하 점수만
		var pattern2 = /^[0-9]{3,100}$/g;
		if (pattern2.test(value)) {
			if (charCode != 46) {
				return false;
			}
		}
		
		return true;
	}
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.