data-val-regex-pattern не работает для отмены некоторых символов specfi c - PullRequest
0 голосов
/ 06 апреля 2020

Я разрабатываю представление с использованием html5, я хочу проверить VIN field с каким-то конкретным шаблоном регулярных выражений,

Поэтому я использовал data-val-regex-pattern для достижения этой цели.

Моя проверка не позволяет пользователю ввести i,o,q,I,O,Q он может ввести что-либо в a-zA-Z0-9 Так что я написал регулярное выражение как ^[a-zA-Z0-9&&[^iIoOqQ]]$ Это регулярное выражение не работает.

Не работает означает, что когда-либо Я ввожу ghtygfrt9090 это говорит недействительным. Ниже приведен код:

<input type="text" maxlength="17" data-val-regex-pattern="^[a-zA-Z0-9&amp;&amp;[^iIoOqQ]]$" data-val-regex="VIN is not valid">

Пожалуйста, помогите !!

1 Ответ

1 голос
/ 06 апреля 2020

Шаблон, который вы пробовали ^[a-zA-Z0-9&&[^iIoOqQ]]$, не имеет квантификатора для класса символов и, если поддерживается, будет соответствовать только одному вхождению из перечисленного.

Повторение будет выглядеть как ^[a-zA-Z0-9&&[^iIoOqQ]]+$


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

Если это не поддерживается, вы могли бы использовать отрицательный прогноз:

^(?!.*[iIoOqQ])[a-zA-Z0-9]+$

Regex demo

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

^[a-hj-npr-zA-HJ-NPR-Z]+$

Regex demo

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