Методы isLatLong

Назначение метода

Метод isLatLong предназначен для проверки строки, содержащей географические координаты в формате широты и долготы. Он используется для валидации пользовательского ввода, API-запросов и любых данных, где требуется строгое соответствие координатной системе.

Основная задача метода — определить, соответствует ли строка корректной паре чисел, где:

  • первая часть — широта (latitude),
  • вторая часть — долгота (longitude).

Метод ориентирован на работу с текстовым представлением координат, а не с объектами или массивами.


Сигнатура

isLatLong(str [, options])

Параметры:

  • str — строка, содержащая координаты.
  • options — необязательный объект конфигурации, влияющий на строгость проверки и допустимые форматы.

Возвращаемое значение:

  • true — если строка является корректной парой координат.
  • false — если формат или значения не соответствуют требованиям.

Формат координат

Метод ориентирован на стандартный формат:

latitude,longitude

Пример:

"51.5074,-0.1278"

Допускаются следующие особенности формата:

  • использование отрицательных значений для южной широты и западной долготы;
  • пробелы после запятой (в зависимости от режима строгой проверки);
  • десятичная форма записи координат.

В некоторых конфигурациях возможно распознавание координат в формате DMS (degrees, minutes, seconds), однако основной режим работы — десятичные значения.


Диапазоны допустимых значений

Для корректной валидации применяются географические ограничения:

  • широта: от -90 до 90
  • долгота: от -180 до 180

Любое значение вне этих диапазонов считается некорректным.

Примеры некорректных данных:

  • "120,50" — широта вне диапазона
  • "45,200" — долгота вне диапазона
  • "abc,def" — нечисловые значения

Логика проверки

При вызове isLatLong выполняется последовательность проверок:

  1. Проверка типа входных данных (строка).
  2. Разделение строки по разделителю ,.
  3. Проверка наличия двух компонентов.
  4. Преобразование значений в числа.
  5. Проверка диапазонов широты и долготы.
  6. При наличии настроек — дополнительная проверка формата (например, строгие пробелы или DMS).

Если хотя бы один этап не проходит проверку, результатом становится false.


Примеры использования

Базовая проверка координат
import validator from 'validator';

validator.isLatLong("40.7128,-74.0060");
// true
Некорректный формат
validator.isLatLong("40.7128 -74.0060");
// false

Причина — отсутствие запятой как разделителя.

Проверка пользовательского ввода
function validateCoordinates(input) {
  return validator.isLatLong(input);
}

validateCoordinates("55.7558,37.6173");
// true

Работа с пробелами и форматированием

В зависимости от конфигурации библиотеки допускаются или запрещаются пробелы вокруг запятой:

validator.isLatLong("48.8566, 2.3522");
// может быть true или false в зависимости от strict-режима

При строгой валидации пробелы считаются нарушением формата.


Типичные ошибки при использовании

1. Передача массива вместо строки

validator.isLatLong([40.7, -74.0]); // false

2. Использование точки с запятой

validator.isLatLong("40.7;-74.0"); // false

3. Перепутанный порядок координат

validator.isLatLong("-74.0,40.7");
// формально валидно, но географически может быть ошибочным

4. Лишние символы

validator.isLatLong("40.7,-74.0 N"); // false

Пограничные случаи

Некоторые значения формально проходят проверку, но требуют дополнительной бизнес-логики:

  • "0,0" — допустимо, но часто используется как значение по умолчанию
  • "90,180" — крайние допустимые координаты
  • "-90,-180" — минимальные границы системы координат

Метод не определяет географическую корректность точки, он проверяет только синтаксис и диапазоны.


Использование в серверной валидации

При работе с API метод часто применяется для защиты от некорректных данных:

app.post("/location", (req, res) => {
  const { coordinates } = req.body;

  if (!validator.isLatLong(coordinates)) {
    return res.status(400).send("Invalid coordinates");
  }

  res.send("OK");
});

Такая проверка снижает риск попадания некорректных географических данных в базу.


Совместимость с другими методами валидации

isLatLong часто используется вместе с:

  • isFloat — для предварительной проверки числовых значений
  • trim — для удаления лишних пробелов
  • кастомными регулярными выражениями — для нестандартных форматов координат

Комбинирование позволяет расширить контроль над входными данными, особенно в сложных системах геолокации.


Производственные сценарии применения

  • геолокационные сервисы;
  • мобильные приложения с картами;
  • логистические системы;
  • обработка данных GPS-трекеров;
  • API сервисы картографических платформ.

Метод обеспечивает базовый уровень защиты от некорректных координат на этапе валидации входных данных.