자바스크립트에서는 2바이트 문자를 한글자로 처리하기 때문에 바이트 단위로 잘라야 하거나 검사할때 문제가 많습니다.
그래서 바이트 단위로 길이를 검사하고 자르는 메소드를 추가해봤습니다.
서핑중에 sms 보내는 폼이 나오면... 혹시나하고 소스를 열어보곤 하는데.. ㅇ_ㅇ(힉..)
80바이트가 넘는지 검사하는걸 상당히 복잡하게 코딩해논게 보이더군요..
코드 나갑니다.
<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 = "동a해b물c과 백두산이";
alert(aaa.cut(15));
// 또는
bbb = "너무긴내용너무긴내용너무긴내용";
alert("length: " + bbb.length + "nbytes(): " + bbb.bytes());
//응용
if (bbb.bytes() > 20) {
alert("내용이 너무 깁니다");
} else {
// 처리
}
</script><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
그래서 바이트 단위로 길이를 검사하고 자르는 메소드를 추가해봤습니다.
서핑중에 sms 보내는 폼이 나오면... 혹시나하고 소스를 열어보곤 하는데.. ㅇ_ㅇ(힉..)
80바이트가 넘는지 검사하는걸 상당히 복잡하게 코딩해논게 보이더군요..
코드 나갑니다.
<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 = "동a해b물c과 백두산이";
alert(aaa.cut(15));
// 또는
bbb = "너무긴내용너무긴내용너무긴내용";
alert("length: " + bbb.length + "nbytes(): " + bbb.bytes());
//응용
if (bbb.bytes() > 20) {
alert("내용이 너무 깁니다");
} else {
// 처리
}
</script><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]</div>
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 1330 | 18년 전 | 1478 | ||
| 1329 | 18년 전 | 1701 | ||
| 1328 | 18년 전 | 995 | ||
| 1327 | 18년 전 | 1398 | ||
| 1326 | 18년 전 | 2244 | ||
| 1325 | 18년 전 | 1127 | ||
| 1324 | 18년 전 | 1297 | ||
| 1323 | 18년 전 | 1563 | ||
| 1322 | 18년 전 | 1175 | ||
| 1321 | 18년 전 | 964 | ||
| 1320 | 18년 전 | 1186 | ||
| 1319 | 18년 전 | 1521 | ||
| 1318 | 18년 전 | 1640 | ||
| 1317 | 18년 전 | 1594 | ||
| 1316 | 18년 전 | 1206 | ||
| 1315 |
|
18년 전 | 8596 | |
| 1314 | 18년 전 | 1897 | ||
| 1313 | 18년 전 | 1489 | ||
| 1312 | 18년 전 | 1483 | ||
| 1311 | 18년 전 | 1770 | ||
| 1310 | 18년 전 | 1831 | ||
| 1309 | 18년 전 | 1215 | ||
| 1308 | 18년 전 | 976 | ||
| 1307 | 18년 전 | 2741 | ||
| 1306 | 18년 전 | 3102 | ||
| 1305 | 18년 전 | 2165 | ||
| 1304 | 18년 전 | 1553 | ||
| 1303 | 18년 전 | 1406 | ||
| 1302 | 18년 전 | 855 | ||
| 1301 | 18년 전 | 1771 | ||
| 1300 | 18년 전 | 5132 | ||
| 1299 | 18년 전 | 2845 | ||
| 1298 |
mixdesign
|
18년 전 | 2097 | |
| 1297 | 18년 전 | 3076 | ||
| 1296 | 18년 전 | 2537 | ||
| 1295 | 18년 전 | 2233 | ||
| 1294 |
onweb
|
18년 전 | 4553 | |
| 1293 |
onweb
|
18년 전 | 3487 | |
| 1292 | 18년 전 | 3448 | ||
| 1291 | 18년 전 | 4030 | ||
| 1290 | 18년 전 | 1905 | ||
| 1289 | 18년 전 | 1754 | ||
| 1288 | 18년 전 | 1720 | ||
| 1287 | 18년 전 | 1414 | ||
| 1286 | 18년 전 | 1262 | ||
| 1285 | 18년 전 | 1153 | ||
| 1284 | 18년 전 | 1159 | ||
| 1283 | 18년 전 | 1510 | ||
| 1282 | 18년 전 | 900 | ||
| 1281 | 18년 전 | 1269 | ||
| 1280 | 18년 전 | 1121 | ||
| 1279 | 18년 전 | 1137 | ||
| 1278 | 18년 전 | 3018 | ||
| 1277 | 18년 전 | 944 | ||
| 1276 | 18년 전 | 1152 | ||
| 1275 | 18년 전 | 2090 | ||
| 1274 | 18년 전 | 2221 | ||
| 1273 | 18년 전 | 1312 | ||
| 1272 | 18년 전 | 1900 | ||
| 1271 | 18년 전 | 1150 | ||
| 1270 | 18년 전 | 2485 | ||
| 1269 | 18년 전 | 6592 | ||
| 1268 |
페이지팩트
|
18년 전 | 3820 | |
| 1267 |
페이지팩트
|
18년 전 | 2223 | |
| 1266 |
|
18년 전 | 6290 | |
| 1265 | 18년 전 | 2569 | ||
| 1264 | 18년 전 | 2614 | ||
| 1263 | 18년 전 | 2116 | ||
| 1262 | 18년 전 | 2107 | ||
| 1261 |
페이지팩트
|
18년 전 | 2116 | |
| 1260 | 18년 전 | 3872 | ||
| 1259 |
|
18년 전 | 3931 | |
| 1258 |
|
18년 전 | 5033 | |
| 1257 | 18년 전 | 4125 | ||
| 1256 | 18년 전 | 2565 | ||
| 1255 | 18년 전 | 1795 | ||
| 1254 | 18년 전 | 2776 | ||
| 1253 | 18년 전 | 2710 | ||
| 1252 | 18년 전 | 2229 | ||
| 1251 | 18년 전 | 5412 | ||
| 1250 |
jbsstyle
|
18년 전 | 4752 | |
| 1249 |
|
18년 전 | 3759 | |
| 1248 | 18년 전 | 3445 | ||
| 1247 | 18년 전 | 2124 | ||
| 1246 | 18년 전 | 2130 | ||
| 1245 | 18년 전 | 3631 | ||
| 1244 |
|
18년 전 | 2266 | |
| 1243 |
|
18년 전 | 2492 | |
| 1242 | 18년 전 | 1759 | ||
| 1241 | 18년 전 | 4455 | ||
| 1240 | 18년 전 | 2149 | ||
| 1239 | 18년 전 | 2298 | ||
| 1238 | 18년 전 | 4035 | ||
| 1237 |
hwatta
|
18년 전 | 3886 | |
| 1236 | 18년 전 | 2110 | ||
| 1235 | 18년 전 | 2758 | ||
| 1234 | 18년 전 | 5140 | ||
| 1233 | 18년 전 | 2400 | ||
| 1232 |
|
18년 전 | 2942 | |
| 1231 | 18년 전 | 8497 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기