My Name is Kay....

DIY , 먹방 , 개발 , 육아 , 여행 좋아합니다.
AdBlock 사용시 화면이 정상적으로 노출되지 않습니다.
포스팅 관련 문의 및 개발 문의는 Email : wkzkfmxksi@gmail.com

추가 포스팅이 이뤄지지 않는 블로그입니다. 문의는 wkzkfmxksi@gmail.com 으로 연락주세요.
kay
조회 수 9703 추천 수 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>


?

  1. FadeIn , FadeOut 을 이용한 간단한 메인 배너 이미지 노출.

    Date2014.10.23 Categoryetc Bykay Views2999
    Read More
  2. 기본값 가져오기 get default value

    Date2014.10.19 Categoryetc Bykay Views2323
    Read More
  3. 페이지 또는 객체에서 특정 키워드 강조하기

    Date2014.06.14 Categoryetc Bykay Views2716
    Read More
  4. 우클릭 , 셀 선택 , 드래그 방지 스크립트

    Date2014.02.17 Categoryetc Bykay Views7916
    Read More
  5. Jquery Load 유무 체크하기

    Date2014.02.12 Categoryetc Bykay Views4287
    Read More
  6. Table에 동적 Tr 추가/삭제 하기

    Date2014.02.09 Categoryetc Bykay Views21279
    Read More
  7. 한글/영어 byte 체크해서 자르기

    Date2013.11.30 Categoryetc Bykay Views9703
    Read More
  8. $.trim(str) trim...

    Date2013.10.16 Categoryetc Bykay Views3957
    Read More
  9. 자동 Submit 방지 및 Enter Key 체크하기

    Date2013.08.12 Categoryetc Bykay Views7826
    Read More
  10. input hidden <-> text 변경하기

    Date2013.05.03 Categoryetc Bykay Views5957
    Read More
  11. 1.9x 버전 $.browser 삭제 대체 사용

    Date2013.04.26 Categoryetc Bykay Views5661
    Read More
  12. 에러 리포팅 , Ajax 디버깅 ( JS , ASP ) - 오류메시지 확인하기

    Date2013.03.08 Categoryetc Bykay Views30638
    Read More
  13. XML 파싱

    Date2013.03.02 Categoryetc Bykay Views6337
    Read More
  14. 페이지 로딩 속도 개선 - 이미지 로딩처리

    Date2013.03.02 Categoryetc Bykay Views6533
    Read More
Board Pagination Prev 1 Next
/ 1