Debo usar ^ y $ en la validación del patrón de expresiones regulares de entrada html5?

He visto principalmente ejemplos sin los caracteres ^ (circunflejo) y $ (moneda o dólar) para marcar el comienzo y el final de la cadena que coincide. @ Sin embargo, no encontré nada al respecto en la especificación html5. ¿Están implícitos en el patrón? La especificación html5 indica que son implícitos.

La expresión regular del patrón compilado, cuando se compara con una cadena, debe tener su inicio anclado al inicio de la cadena y su final anclado al final de la cadena. Esto implica que el lenguaje de expresión regular utilizado para este atributo es el mismo que el utilizado en JavaScript, excepto que el atributo del patrón se compara con el valor completo, no con cualquier subconjunto (algo así como si implicara un ^ (?: al principio del patrón y a) $ al final).

In type = "text", el patrón funciona bien usando cualquier formato, sin embargo, en las entradas type = "tel", tuve que eliminar los caracteres para que la expresión regular funcione como se esperaba. He probado en Opera y Firefox.

¿Es esto un error del navegador? ¿Debo presentar un error en bugzilla, etc.

Editar Parece que me he tropezado con un error extraño, porque no puedo crear un caso de prueba reducido. Una entrada simple en una página no muestra el comportamiento mencionado anteriormente. Sin embargo, la pregunta permanece. ¿Debo o no debo usar los anclajes malditos ^ y $?

Respuestas a la pregunta(6)

Su respuesta a la pregunta