스마트에디터 입력 용량 체크

$( document ).ready( function() {
setTimeout(function() {
var jbHtml = document.querySelector("iframe").contentWindow.document.querySelector("iframe").contentWindow.document.querySelector(".se2_inputarea");

//키보드 입력을 받았을때
jbHtml.addEventListener("keyup", function(e) {
var text = this.innerHTML;
text = text.replace(/<br>/ig, ""); // br 제거
text = text.replace(/ /ig, "");// 공백 제거
// text = text.replace(/<(\/)?([a-zA-Z]*)(\s[a-zA-Z]*=[^>]*)?(\s)*(\/)?>/ig, ""); // html 제거

var str_len = text.length;

var rbyte = 0;
var rlen = 0;
var one_char = "";

for(var i=0; i<str_len; i++){
one_char = text.charAt(i);
if(escape(one_char).length > 4){
rbyte += 3; //한글3Byte
}else{
rbyte++; //영문 등 나머지 1Byte
}

}

document.querySelector(".intro_size span").innerHTML = rbyte/1000;


//url 이미지 파일 사이즈 체크
const imgreg = /(<img[^>]*src\s*=\s*[\"']?([^>\"']+)[\"']?[^>]*>)/g;
var url_img_size = 0;

while(imgreg.test(text)){

url_img = RegExp.$2.trim();

if(url_img.substr(0,10) == 'data:image'){continue;}

$.get(url_img, function(responseText) {
url_img_size += responseText.length;


total_size = url_img_size + rbyte;
document.querySelector(".intro_size span").innerHTML = total_size/1000;

});
}

// alert(len);
// total_size = url_img_size + rbyte;
// document.querySelector(".intro_size span").innerHTML = total_size/1000;

// if(rbyte > 40000) {
// alert("최대 40000 byte까지 입력 가능합니다.");
// }
});

}, 1000)
}
);
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

HTML/CSS/기타

번호 제목 글쓴이 날짜 조회수
46 JS 글자수 체크(공백포함, 제외) 및 언어 옵션 설정 관리자 09-02 1,300
45 web chart - 실시간 차트 관리자 07-25 1,326
44 비동기 프로그래밍 관리자 07-25 1,290
43 table thead 고정과 tbody 스크롤 관리자 07-23 1,339
42 datepicker 사용하여 공휴일 직접 지정하기 관리자 06-11 1,409
41 Dropzone - 이미지 & 파일 업로드 (드래그 앤 드롭) 라이브러리 관리자 03-06 1,574
40 JSPDF 사용법(Javascript pdf) 관리자 03-04 1,843
39 FullCalendar(풀캘린더) 어거지 사용법 관리자 01-25 1,764
38 JQUERY - id가 여러개인데 한번에 찾고 싶을때! ${} 관리자 12-28 1,599
37 [CSS] 가로 스크롤 구현하기 관리자 12-27 1,736
36 JCROP을 이용한 업로드한 크롭( CROP ) 하기 관리자 12-27 1,689
35 제이쿼리 - 모달 다이아로그 및 여러 알림창들 관리자 12-21 1,429
34 Javascript/jQuery 이미지 회전 돋보기 관리자 11-07 1,806
33 Resolving the Issue of Fakepath in JavaScript 관리자 10-26 1,474
32 div 및 요소 화면 중앙에 위치시키기 관리자 10-21 1,502
31 [Jquery] 체크박스 전체 체크 , 해제 하는 방법 관리자 10-19 1,503
30 display 스타일 속성 사용하여 행 숨기기/보이기 관리자 09-16 1,899
29 자주 사용하는 비주얼 스튜디오 코드(Visual Studio Code, VSC, vscode) 단축키 정리 관리자 09-14 1,982
28 div 2개 나란히 정렬하는 방법 관리자 09-09 1,712
27 HTML, CSS - 헤더컬럼 고정형 table 구성하기 관리자 09-06 1,550