Используете пакет Unicode для проверки в Go?

Пакет unicode в Go предоставляет такие функции, как unicode.IsDigit и unicode.IsUpper. Безопасно ли их использовать для проверки ввода формы, в частности, проверки пароля?

Как вы подойдете к проверке формы в Go без использования стороннего пакета? Из того, что я могу собрать, регулярное выражение стоит дорого, и его следует избегать, если это возможно, это жизнеспособное решение?

Вот пример использования пакета Unicode:

https://play.golang.org/p/6XLSqPim54E

Ваш вопрос: «Какой подход я могу использовать, чтобы проверить, соблюдаются ли правила сложности пароля при смене пароля?» Код, который вы предлагаете в ссылке на игровую площадку, выглядит нормально.

Vorsprung 05.01.2019 12:49
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Валидация полей ввода для базовой формы React
Валидация полей ввода для базовой формы React
В одном из моих проектов MERN Stack есть форма с именем, фамилией, контактным номером, адресом, электронной почтой, датой рождения, номером NIC, весом...
Пользовательские правила валидации в Laravel
Пользовательские правила валидации в Laravel
Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей...
0
1
101
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Эффективность регулярного выражения объявления: Вы можете прочитать о производительности реализации регулярного выражения golang здесь. Меня бы это не волновало, если вы не реализуете очень важный инструмент с высокой производительностью, где вы можете особенно измерить, что регулярное выражение замедляет вашу программу.

Другие вопросы по теме