자바스크립트 strlen()

1 개요[ | ]

자바스크립트 strlen
자바스크립트에서 strlen 구현
  • 자바스크립트와 PHP는 문자열 길이를 계산하는 방식이 다르다.
자바스크립트의 length: UTF-8 기준
PHP의 strlen: ISO-8859-1 기준
  • 자바스크립트에 PHP와 같은 strlen 함수를 만들어보자.

2 소스코드[ | ]

<!DOCTYPE html>
<meta charset='utf-8'>
<script>
function strlen(str) { return utf8_encode(str).length; }
function utf8_encode(str) {
  str = str.replace(/\r\n/g,"\n");
  var output = "";
  for (var n = 0; n < str.length; n++) {
    var c = str.charCodeAt(n);
    if (c < 128) output += String.fromCharCode(c);
    else if((c > 127) && (c < 2048)) {
      output += String.fromCharCode((c >> 6) | 192);
      output += String.fromCharCode((c & 63) | 128);
    }
    else {
      output += String.fromCharCode((c >> 12) | 224);
      output += String.fromCharCode(((c >> 6) & 63) | 128);
      output += String.fromCharCode((c & 63) | 128);
    }
  }
  return output;
}
document.write("<h1>Javascript</h1>");
var en = 'hello';
var ko = '안녕';
document.write("'" + en + "'.length=" + en.length + "<br>");
document.write("'" + ko + "'.length=" + ko.length + "<br>");
document.write("strlen('" + en + "')=" + strlen(en) + "<br>");
document.write("strlen('" + ko + "')=" + strlen(ko) + "<br>");
</script>
<?php
echo "<h1>PHP</h1>";
$en = 'hello';
$ko = '안녕';
echo("strlen('" . $en . "')=" . strlen($en) . "<br>");
echo("strlen('" . $ko . "')=" . strlen($ko) . "<br>");
?>

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}