Автоматически преобразуйте входной контент в приложении Angular.

Я только что нашел очень полезную библиотеку JavaScript с открытым исходным кодом, которая отформатирует ваш входной контент в любой формат, который вы хотите. Большинство наших приложений содержат формы, и это поможет вам улучшить их UX. Вместо создания настраиваемых каналов или директив, которые преобразуют ваш входной текстовый контент в желаемый формат, это упростит вам путь. Вот некоторые функции, представленные в этой библиотеке:

  • Форматирование номера кредитной карты
  • Форматирование номера телефона
  • Форматирование даты и времени
  • Форматирование чисел
  • Пользовательский шаблон разделителя, префикса и блоков

Установка

Просто выполните следующую команду, чтобы установить cleave.js в приложение Angular.

npm install cleave.js --save

Нам также необходимо установить jQuery, чтобы он работал правильно.

npm install jquery --save

Настроить форму

После установки мы создадим форму с несколькими полями формы ввода. Здесь я использую приложение Angular 8 с Bootstrap. Ознакомьтесь с этой ссылкой о том, как настроить приложение Angular 8 с помощью Bootstrap.

Затем нам нужно создать profile.ts и обновить наши app.component.html и app.component.ts. Вы также можете проверить эту ссылку, чтобы получить полный код этих файлов.

Не забудьте добавить это поверх своего app.component.ts.

import "cleave.js/dist/addons/cleave-phone.us";
declare var Cleave: any;

В этой демонстрации я использую только формат мобильного телефона в США. Вы также можете изменить его в зависимости от страны, которую вы хотите, или сделать его динамическим и проверить этот путь node_modules/cleave.js/dist/addons/, чтобы импортировать файлы формата мобильного телефона страны.

Форматирование даты

Вот пример кода для форматирования даты в формате ГГГГ-ММ-ДД.

this.date1 = new Cleave('#date1', {
  date: true,
  delimiter: '-',
  datePattern: ['Y', 'm', 'd']
});

В приведенном выше примере кода найдется элемент, в котором id равно date1, и установлены разделитель и шаблон в соответствии с datePattern. Вы также можете изменить способ поиска элемента с id на CSS class. Просто измените #date1 на .date1 или любой CSS-класс, созданный со ссылкой на входной тег.

Форматирование кредитной карты

Вот пример кода для изменения входного содержимого в формат кредитной карты.

this.creditcard = new Cleave('#creditcard', {
  delimiter: ' ',
  blocks: [4, 4, 4, 4],
});

Форматирование мобильного телефона

Вот пример кода для изменения входного содержимого в формат мобильного телефона США. Вы можете обратиться к этому пути node_modules/cleave.js/dist/addons/, чтобы узнать доступные коды стран.

this.phone = new Cleave('#phone', {
  phone: true,
  phoneRegionCode: 'US'
});

Форматирование времени

Вот пример кода для изменения входного содержимого на формат времени (чч: мм: сс).

this.time1 = new Cleave('#time1', {
  time: true,
  timePattern: ['h', 'm', 's']
});

Вы можете проверить множество других примеров, доступных по этой ссылке.

Заключение

В этой статье мы узнали, как преобразовать наш вводимый контент в несколько форматов, таких как дата, время, формат кредитной карты и мобильного телефона.

Если вы считаете, что эта статья была полезной, не забудьте поделиться ею с друзьями.

Ресурсы

  1. Https://nosir.github.io/cleave.js/