Следует ли мне использовать ^ и $ при проверке шаблона входящего регулярного выражения html5?

Я видел в основном примеры без символов ^ (циркумфлекс) и $ (валюта или доллар), чтобы отметить начало и конец совпадающей строки. Однако я не нашел ничего по этому поводу в спецификации html5. Неявны ли они в шаблоне? В спецификации html5 указано, что они неявны.

Скомпилированное регулярное выражение шаблона при сопоставлении со строкой должно иметь начало, привязанное к началу строки, а его конец, привязанный к концу строки. Это означает, что язык регулярных выражений, используемый для этого атрибута, такой же, как и язык, используемый в JavaScript, за исключением того, что атрибут шаблона сопоставляется со всем значением, а не только с любым подмножеством (как если бы он подразумевал ^ (?: в начале выкройки и а) $ в конце).

При вводе type = "text" шаблон отлично работает с любым форматом, однако при вводе type = "tel" мне пришлось удалить символы, чтобы регулярное выражение работало должным образом. Я тестировал как Opera, так и Firefox.

Это ошибка браузера? Должен ли я сообщать об ошибке в bugzilla и т. Д.?


Edit: Кажется, я наткнулся на странную ошибку, потому что я не могу создать сокращенный тестовый пример. Простой ввод на странице не показывает поведения, указанного выше. Однако остается вопрос.Следует или не следует использовать якоря ^ и $?

12
задан Marco Luglio 4 February 2012 в 17:01
поделиться