Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

169
Visualizações
Regex se comporta de manera diferente en el patrón HTML que en un servidor Express

Tengo el siguiente patrón de expresiones regulares en un campo de entrada HTML, que se supone que contiene una dirección de correo electrónico:

 <input type="text" pattern="^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,4})+$" /><br>

Además, tengo la misma expresión regular en un backend Express (JavaScript) usando lo siguiente:

 var re-email = new RegExp("^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,4})+$") if (!re-email.test(email)) { validation = false }

Aunque las expresiones regulares son exactamente iguales, una entrada de prueba específica se evalúa como verdadera en el front-end mientras que como falsa en el back-end.

¿Por qué es esto?

Solución (encontrada después de la publicación inicial) :

En lugar de usar "nueva expresión regular" (que no funciona) como se indicó anteriormente, incluya la expresión regular dentro de las barras inclinadas como se muestra a continuación (que funciona).

var re-email = /^\w+([.-]?\w+) @\w+([.-]?\w+) (.\w{2,4})+$/

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Probablemente no sea la respuesta que busca (no es específica de vue.js) ...

La validación de la entrada de la dirección de correo electrónico generalmente debe completarse así:

 <input type="email" name="" value="" required />

Especificar el "tipo" correcto en un campo de entrada también ajusta los teclados de entrada en los dispositivos móviles para facilitar la entrada de una dirección de correo electrónico.


Su expresión regular está mal escrita y conduce a un "retroceso catastrófico", además de que en realidad no admite direcciones de correo electrónico válidas.

La validación de la dirección de correo electrónico es generalmente compleja, consulte esta respuesta y la pregunta asociada: https://stackoverflow.com/a/201378/406712


También puede encontrar la expresión regular equivalente de validación de dirección de correo electrónico HTML en la especificación HTML: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address


También tenga en cuenta que no pudo escapar de los caracteres en la cadena, siendo la primera instancia \w que sin escapar de \ aparecerá simplemente como w .

Escapó de la cadena más así:

 '/^\\w+([.-]?\\w+)@\\w+([.-]?\\w+)(.\\w{2,4})+$/'
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda