kay
조회 수 8738 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

SMS 발송 폼 처리 중 80 바이트 체크하기 위해서..

사용 편의를 위해 일부 내용이 수정되었습니다.


원개발자분께 감사드립니다. ( http://blog.naver.com/yesdouble/130152964039 )


Test Url : http://www.uhoon.co.kr/test/2410.html


<!DOCTYPE html>
<html>
<head>
	<title>한글/영어 byte 체크해서 자르기</title>
	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
	<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</head>
<body >
<script type="text/javascript">
	$(function () {
		$('.remaining').each(function () {
			// count 정보 및 count 정보와 관련된 textarea/input 요소를 찾아내서 변수에 저장한다.
			var $maxcount = $('.maxcount', this);
			var $count = $('.count', this);
			var $input = $("#contents");

			// .text()가 문자열을 반환하기에 이 문자를 숫자로 만들기 위해 1을 곱한다.
			var maximumByte = $maxcount.text() * 1;
			// update 함수는 keyup, paste, input 이벤트에서 호출한다.
			var update = function () {
				var before = $count.text() * 1;
				var str_len = $input.val().length;
				var cbyte = 0;
				var li_len = 0;
				for (i = 0; i < str_len; i++) {
					var ls_one_char = $input.val().charAt(i);
					if (escape(ls_one_char).length > 4) {
						cbyte += 2; //한글이면 2를 더한다
					} else {
						cbyte++; //한글아니면 1을 다한다
					}
					if (cbyte <= maximumByte) {
						li_len = i + 1;
					}
				}
				// 사용자가 입력한 값이 제한 값을 초과하는지를 검사한다.
				if (parseInt(cbyte) > parseInt(maximumByte)) {
					alert('허용된 글자수가 초과되었습니다.\r\n\n초과된 부분은 자동으로 삭제됩니다.');
					var str = $input.val();
					var str2 = $input.val().substr(0, li_len);
					$input.val(str2);
					var cbyte = 0;
					for (i = 0; i < $input.val().length; i++) {
						var ls_one_char = $input.val().charAt(i);
						if (escape(ls_one_char).length > 4) {
							cbyte += 2; //한글이면 2를 더한다
						} else {
							cbyte++; //한글아니면 1을 다한다
						}
					}
				}
				$count.text(cbyte);
			};
			// input, keyup, paste 이벤트와 update 함수를 바인드한다
			$input.bind('input keyup keydown paste change', function () {
				setTimeout(update, 0)
			});
			update();
		});
	});
</script>
<div>
<textarea rows="5" cols="50" id="contents"/></textarea>
</div>
<span class="remaining">
	<span class="count">0</span>/<span class="maxcount">80</span>byte(한글 40자, 영어 80자)
</span>
</body>
</html>


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
54 UI 특정 객체가 화면에 보이는지 여부 확인 kay 2015.12.14 653
53 PlugIn jQuery Formatnumber , 콤마처리 kay 2015.11.03 475
52 UI Select Box Option 동적 추가 , 삭제 , 복사 kay 2015.09.18 2190
51 etc FadeIn , FadeOut 을 이용한 간단한 메인 배너 이미지 노출. kay 2014.10.23 2129
50 etc 기본값 가져오기 get default value kay 2014.10.19 1434
49 UI woothemes FlexSlider - 슬라이더 file kay 2014.09.16 5685
48 PlugIn jQuery Org Chart - 조직도 그리기 file kay 2014.09.01 4729
47 UI Jquery Slider Bar / 슬라이더 바 3종 샘플 file kay 2014.07.28 5507
46 etc 페이지 또는 객체에서 특정 키워드 강조하기 2 kay 2014.06.14 2346
45 PlugIn Star Rating Plugin - jQuery 별점 주기 2 file kay 2014.05.01 8920
44 PlugIn jQuery Plugin For Auto Resizing iFrame - iFrame Resizer file kay 2014.03.10 10595
43 etc 우클릭 , 셀 선택 , 드래그 방지 스크립트 kay 2014.02.17 7537
42 etc Jquery Load 유무 체크하기 kay 2014.02.12 3637
41 PlugIn jquery-syaku.rolling 상하좌우 롤링 ( 자동롤링 , 버튼 ) 10 file kay 2014.02.09 15094
40 etc Table에 동적 Tr 추가/삭제 하기 kay 2014.02.09 18785
» etc 한글/영어 byte 체크해서 자르기 1 kay 2013.11.30 8738
38 UI 동적으로 추가된 객체에 datepicker() 적용하기 kay 2013.11.06 6614
37 etc $.trim(str) trim... kay 2013.10.16 3607
36 A to Z Jquery 로 defaultValue 읽어오기 kay 2013.10.03 3476
35 A to Z readonly , disabled 지정하기 kay 2013.10.01 3864
Board Pagination Prev 1 2 3 Next
/ 3
CLOSE