При валидации данных в случае с VIN-кодом лучше применить whitelist-подход (allow list), когда мы перечисляем разрешённые символы, вместо blacklist-подхода (block list), когда мы пытаемся перечислить все символы, которых не должно быть в поле — это практически невозможно.
То есть, мы знаем что VIN состоит из латинских букв и цифр (на самом деле допускаются даже не все буквы и цифры), а все остальные символы запрещены: это явный allow list. См. Allow list vs block list.
Сейчас форма примет даже такой ввод: "WVGEK9BP3CD012🤪✅".
|
let illegalChar = /[ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/; |
При валидации данных в случае с VIN-кодом лучше применить whitelist-подход (allow list), когда мы перечисляем разрешённые символы, вместо blacklist-подхода (block list), когда мы пытаемся перечислить все символы, которых не должно быть в поле — это практически невозможно.
То есть, мы знаем что VIN состоит из латинских букв и цифр (на самом деле допускаются даже не все буквы и цифры), а все остальные символы запрещены: это явный allow list. См. Allow list vs block list.
Сейчас форма примет даже такой ввод: "WVGEK9BP3CD012🤪✅".
decoderVIN/src/Components/DecoderVIN/DecoderVIN.jsx
Line 17 in 2a45003