【JavaScript】文字数を数える
問題
JavaScriptで、半角は2文字で1、全角は1文字で1とカウントしてみてください。
答え
デモ
JavaScript
<input type="text" value="" class="char_count" data-limit="100" data-display="#char_count_display1"> <span id="char_count_display1"></span> <textarea class="char_count" data-limit="350" data-display="#char_count_display2"></textarea> <span id="char_count_display2"></span> <script> $(function() { $(".char_count").on("keyup", function() { var o = $(this); var str = o.val(); var limit = o.data("limit") - 0; var r = 0; for (var i = 0; i < str.length; ++i) { var c = str.charCodeAt(i); if (c >= 0x0 && c <= 0x7f) { r += 1; } else { r += 2; } } if (r > limit) { $(o.data('display')).html(Math.floor((r - limit) / 2) + "文字オーバーです"); } else { $(o.data('display')).html("残り約" + Math.floor((limit - r) / 2) + "文字です"); } }); $(".char_count").each(function() { $(this).trigger("keyup"); }); }); </script>
コメント