4 метода расчета длины SMS в JavaScript

Я предоставлю вам несколько методов расчета длины SMS-сообщения в JavaScript, а также примеры кода. Вот четыре различных подхода, которые вы можете использовать:

Метод 1. Использование свойства длины

function calculateSmsLength1(message) {
  var maxLength = 160; // Maximum characters allowed per SMS
  var length = message.length;
  var smsCount = Math.ceil(length / maxLength);
  return smsCount;
}
console.log(calculateSmsLength1("Hello, this is a test message."));

Метод 2. Использование метода среза

function calculateSmsLength2(message) {
  var maxLength = 160; // Maximum characters allowed per SMS
  var smsCount = 0;

  while (message.length > 0) {
    message = message.slice(maxLength);
    smsCount++;
  }

  return smsCount;
}
console.log(calculateSmsLength2("Hello, this is a test message."));

Метод 3. Использование регулярных выражений

function calculateSmsLength3(message) {
  var maxLength = 160; // Maximum characters allowed per SMS
  var smsCount = 0;

  var regex = new RegExp(".{1," + maxLength + "}", "g");
  var parts = message.match(regex);
  smsCount = parts.length;

  return smsCount;
}
console.log(calculateSmsLength3("Hello, this is a test message."));

Метод 4. Использование API длины SMS (сторонний сервис)

async function calculateSmsLength4(message) {
  var url = "https://api.smslength.io/message";
  var apiKey = "your_api_key"; // Replace with your API key

  var response = await fetch(url, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + apiKey
    },
    body: JSON.stringify({ message: message })
  });

  var data = await response.json();
  var smsCount = data.smsCount;

  return smsCount;
}
calculateSmsLength4("Hello, this is a test message.").then(function(smsCount) {
  console.log(smsCount);
});