Я видел в основном примеры без символов ^ (циркумфлекс) и $ (валюта или доллар), чтобы отметить начало и конец совпадающей строки. Однако я не нашел ничего по этому поводу в спецификации html5. Неявны ли они в шаблоне? В спецификации html5 указано, что они неявны.
Скомпилированное регулярное выражение шаблона при сопоставлении со строкой должно иметь начало, привязанное к началу строки, а его конец, привязанный к концу строки. Это означает, что язык регулярных выражений, используемый для этого атрибута, такой же, как и язык, используемый в JavaScript, за исключением того, что атрибут шаблона сопоставляется со всем значением, а не только с любым подмножеством (как если бы он подразумевал ^ (?: в начале выкройки и а) $ в конце).
При вводе type = "text" шаблон отлично работает с любым форматом, однако при вводе type = "tel" мне пришлось удалить символы, чтобы регулярное выражение работало должным образом. Я тестировал как Opera, так и Firefox.
Это ошибка браузера? Должен ли я сообщать об ошибке в bugzilla и т. Д.?
Edit: Кажется, я наткнулся на странную ошибку, потому что я не могу создать сокращенный тестовый пример. Простой ввод на странице не показывает поведения, указанного выше. Однако остается вопрос.Следует или не следует использовать якоря ^ и $?