У HTML5 есть атрибут шаблона ввода, игнорирующий регистр - PullRequest
34 голосов
/ 02 апреля 2011

Мне нужно, чтобы шаблон элементов ввода HTML игнорировал регистр значения,
например, иметь, если регулярное выражение / / a-z] * / можно ли мне сделать так, чтобы оно совпадало также со всеми заглавными буквами?
(Я знаю, что могу просто сделать / [a-zA-Z] * /, но это был пример.)

1 Ответ

44 голосов
/ 02 апреля 2011

Я не думаю, что это возможно.

  1. В спецификации <input pattern> [ 1 , 2 ] указано, что

    • шаблон использует ECMAScript (то есть Javascript), регулярное выражение

    • скомпилировано "с глобальными, ignoreCase и многострочными флагами отключено "

  2. В Javascript единственный способ сделать регистр игнорирования регулярных выражений - это установить модификатор извне (/.../i). Синтаксис PCRE (?i) не поддерживается.

Следовательно, шаблон всегда чувствителен к регистру , а [a-zA-Z]* (т.е. делает само регулярное выражение явно нечувствительным к регистру) - единственный способ сопоставить шаблон с учетом регистра.

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