메뉴 건너뛰기

2019.01.16 18:22

한글 짜르기

조회 수 1180 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

상품명을 DB에 저장하는데 html의 input 태그는 한글과 영문 및 특수문자가 2byte로 처리되고 DB에는 한글 1byte로 처리되어서
한글이 깨지는것을 방지하기 위해서 아래의 소스를 이용하여 원하는 크기만큼 짜르고 한글은 안깨지도록 하기 위함이다.

출처 : 인터넷

 

<script>
/** 
* string String::cut(int len)
* 글자를 앞에서부터 원하는 바이트만큼 잘라 리턴합니다.
* 한글의 경우 2바이트로 계산하며, 글자 중간에서 잘리지 않습니다.
*/
String.prototype.cut = function(len) {
  var str = this;
  var l = 0;
  for (var i=0; i<str.length; i++) {
    l += (str.charCodeAt(i) > 128) ? 2 : 1;
    if (l > len) return str.substring(0,i) ;
  }
  return str;
}


/** 
* bool String::bytes(void)
* 해당스트링의 바이트단위 길이를 리턴합니다. (기존의 length 속성은 2바이트 문자를 한글자로 간주합니다)
*/
String.prototype.bytes = function() {
  var str = this;
  var l = 0;
  for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1;
    return l;
}


aaa = "브랜드계육브랜드DHA통닭(10호)가";


alert(aaa.cut(30));
alert("length: " + aaa.length + "nbytes(): " + aaa.bytes());
</script>


List of Articles
번호 제목 날짜 조회 수
247 비동기 작업의 원리 (JavaScript 엔진, Web API, Task Queue, Event Loop) file 2023.01.20 138
246 Node.js와 npm(+ npx)의 개념 2023.01.20 135
245 바닐라 JS, ECMAScript 개념 file 2023.01.20 109
244 마우스 오른쪽버튼 , 드래그 선택 차단 2023.01.12 118
243 개발자도구 F12키 막기 file 2023.01.12 176
242 패스워드, 확인패스워드가 맞는지 체크 2023.01.12 130
241 문자열 안에 쌍따옴표, 홑따옴표 표시하는 3가지 방법 file 2021.08.20 1801
240 대소문자 변경 (대문자를 소문자로, 소문자를 대문자로) 2021.08.20 261
239 시간 계산하기 (시/분/초/ 더하기, 빼기) 2021.08.20 1715
238 날짜 계산 (Date) 마지막 날짜(말일)/윤달/윤년 처리하기 2021.08.20 1556
237 월의 마지막 날짜 계산하기 2021.08.20 242
236 Date 객체로 원하는 날짜, 시간 표현하기 2021.08.20 223
235 날짜 계산하기 (년/월/일 더하기, 빼기) 2021.08.20 2367
234 3자리 마다 쉼표만 찍어주는 number_format 함수 2021.03.26 225
233 팝업창 맨위로 올라오게 하기 2021.03.26 894
232 폼안에 태그명, 함수명 같을때 오류 2021.03.26 215
231 ajax 사용시 Internal Sever Error 뜨는 경우 2021.03.26 968
230 자주쓰는 것들 2021.03.26 208
229 utf-8일때 alert 한글 깨짐 해결 2021.03.26 3585
228 split, join, replace, replace_all 2021.03.26 214
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved