Javascript - конвертировать текст с акцентами, пробелами и заглавными буквами в один без акцентов с дефисами и строчными - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу преобразовать в текст с акцентами, пробелами и заглавными буквами в один без акцентов с дефисами и строчными буквами.

мое решение:

var text = 'Canción del Amor';
const nt = text.replace(/\s+/g, '-').normalize('NFD').replace(/[\u0300-\u036f]/g, '').toLowerCase();

console.log(nt);

Пожалуйста, не могли бы вы помочь мне с лучшим решением.Поскольку я хочу, чтобы он был совместим со всеми браузерами.

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете продолжать использовать это решение при условии, что вы используете полифилл, такой как unorm .Размещение

<script type="text/javascript" src="https://unpkg.com/unorm@1.4.1/lib/unorm.js"></script>

над любым использованием String.prototype.normalize() должно позволить функции работать в старых браузерах, которые поддерживают только ECMAScript 5.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...