JavaScriptを使用したSMS文字数計算器


  1. シンプルなカウンター関数:
function countSMSLength(message) {
  var length = message.length;
  var perSMS = 160; // 1つのSMSの最大文字数

  // カウントを調整するためにマルチバイト文字数を考慮する
  var mbLength = 0;
  for (var i = 0; i < length; i++) {
    if (message.charCodeAt(i) > 127) {
      mbLength++;
    }
  }

  var totalSMS = Math.ceil((length + mbLength) / perSMS);
  return totalSMS;
}

この関数は、与えられたメッセージの文字数をカウントし、1つのSMSに収まるために必要なSMSの数を返します。マルチバイト文字を正しくカウントするために、charCodeAt()メソッドを使用しています。

  1. テキストエリアとイベントリスナーを使用したリアルタイムなカウンター:

HTML:

<textarea id="messageInput" rows="4" cols="50"></textarea>
<p id="counter"></p>

JavaScript:

var messageInput = document.getElementById("messageInput");
var counter = document.getElementById("counter");
messageInput.addEventListener("input", function() {
  var message = messageInput.value;
  var smsCount = countSMSLength(message);
  counter.textContent = "SMSの数: " + smsCount;
});

この例では、テキストエリアに入力されるメッセージを監視し、リアルタイムでSMSの数をカウントし表示します。addEventListener()メソッドを使用して、テキストエリアのinputイベントを監視しています。

これらの例を使って、約1000語のブログ投稿を作成し、JavaScriptを使用してSMSの文字数を計算する方法について説明することができます。