반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이썬
- sacai
- 드로우
- 덩크로우
- 주식
- 리액트
- 덩크 로우
- 발매예정
- dunklow
- 나이키
- 제이쿼리
- GIT
- 오라클
- react
- Github
- Nike
- jQuery
- 코로나19
- dunk high
- 자바스크립트
- stockx.com
- Python
- 주식공부
- JavaScript
- 리눅스
- oracle
- Linux
- Dunk Low
- draw
- 덩크 하이
Archives
- Today
- Total
Life goes slowly...
[Javascript] 자바스크립트(JS) - 문자열 Byte 체크하기 본문
728x90
반응형
HTML의 input text의 Value값의 maxlength 속성을 이용하여 입력받을 데이터의 최대 크기 및 최소 크기를 설정이 가능합니다. 하지만 maxlength 속성은 한글과 영문, 숫자, 특수문자 등을 고려하지 않고 있습니다. 단순하게 문자열의 Length으로 입력을 제한하고 있는 경우가 많습니다. 따라서 이때에는 입력받는 데이터의 length 보다는 Byte를 체크하고 있습니다. 특히 input Text가 아닌 textarea 경우에는 maxlength를 체크하기 어렵습니다.
인코딩에 따라서 한글, 영문, 숫자, 특수문자 등 모두가 Byte가 다르게 설정됩니다. 보통 한글은 2~3 Btye이기 때문입니다.
웹사이트를 서핑하는 도중에 Byte 길이를 체크하는 여러 방법을 찾았습니다.
//FOR문으로 문자열 Byte 계산
let byteString = "문자열 Byte 체크하기";
let byteLength = 0;
for(let i=0; i<byteString.length; i++){
if(escape(byteString.charAt(i)).length >==4){
byteLength += 3;
}else if(escape(byteString.charAt(i)) === "%A7"{
byteLength += 3;
}else{
if(escape(byteString.charAt(i)).length !=="%0D"){
byteLength++;
}
}
}
console.log(byteLength +" Bytes");
//정규식으로 Byte계산
byteLength = byteString.replace(/[\0-\x7f]:([0-\u07ff]:(.))/g,"$&$1$2").length;
console.log(byteLength +" Bytes");
//속도개선 문자열 Byte 계산
byteLength = (function(s, b,i,c){
for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1);
return b
})(byteString);
console.log(byteLength +" Bytes");
728x90
반응형
'프로그래밍 > Javascript' 카테고리의 다른 글
[jQuery] jQuery(제이쿼리) 요소제거 및 저장 - .detach() 함수 (0) | 2021.06.21 |
---|---|
[Javascript] 자바스크립트(JS) - input 텍스트에 숫자만 입력 (0) | 2021.06.18 |
[jQuery] jQuery(제이쿼리) Table의 Drag and Drop - tablednd() (0) | 2021.06.17 |
[jQuery] jQuery(제이쿼리) style 속성 추가 - .css() 함수 (0) | 2021.06.15 |
[Javascript] 자바스크립트(JS) - input 창에 focus 이동후 text 선택하기 (0) | 2021.06.04 |
[Javascript] 자바스크립트(JS) - formdata를 console.log로 볼수없는이유 (0) | 2021.05.26 |
[Javascript] 자바스크립트(JS)의 배열을 합치는 함수 - Join() (0) | 2021.05.24 |
[Javascript] 자바스크립트(JS) Image 파일 용량 체크 (0) | 2021.05.18 |
Comments