Hacer una expresión regular de JavaScript equivalente a una expresión regular de PHP

StackOverflow https://stackoverflow.com/questions/30121

  •  09-06-2019
  •  | 
  •  

Pregunta

Después de enviar mi formulario web, se aplicará una expresión regular a la entrada del usuario en el lado del servidor (a través de PHP).Me gustaría tener la expresión regular idéntica ejecutándose en tiempo real en el lado del cliente para mostrarle al usuario cuál será la entrada real.Esto será prácticamente lo mismo que la sección Vista previa en las páginas Hacer preguntas en Stack Overflow, excepto con PHP en el back-end en lugar de .NET.

¿Qué debo tener en cuenta para que mis expresiones regulares de PHP y JavaScript actúen exactamente igual entre sí?

¿Fue útil?

Solución

Jeje, esto fue preguntado hace unos momentos y Jeff señaló:
http://www.regular-expressions.info/refflavors.html.

Existe una comparación de capacidades de expresiones regulares entre herramientas y lenguajes.

Otros consejos

Si las expresiones regulares son simples, entonces no debería haber ningún problema, ya que los conceptos básicos de las expresiones regulares son comunes en la mayoría de las implementaciones.

Para más detalles, sería mejor estudiar ambas implementaciones:

http://www.regular-expressions.info/php.html

http://www.regular-expressions.info/javascript.html

La implementación de Javascripts es probablemente la más básica, por lo que si busca un enfoque de mínimo común denominador, entonces opte por ese.

Descubrí que diferentes implementaciones de expresiones regulares a menudo tienen diferencias sutiles en lo que admiten exactamente.Si desea estar completamente seguro de que el resultado será el mismo tanto en el frontend como en el backend, la opción más segura sería realizar una llamada Ajax a su backend PHP y usar el mismo fragmento de código PHP para ambas evaluaciones de expresiones regulares.

@LKM AJAX es el claro ganador aquí.Esto también le permitirá seguir las SECO principio.¿Por qué querrías escribir tu código de análisis en Javascript? y PHP?

Tanto la expresión regular de JavaScript como preg_match de PHP se basan en Perl, por lo que no debería haber ningún problema de portabilidad.Tenga en cuenta, sin embargo, que Javascript sólo admite un subconjunto de modificadores que admite Perl.

Para obtener más información para comparar los dos:

En cuanto al método de entrega, te sugiero que utilices JSON, el formato de intercambio de datos más delgado hasta la fecha (AFAIK) y directamente traducible a un objeto JavaScript a través de eval().Simplemente haz pasar a ese chico malo por un AJAX sesión y debería estar listo para comenzar.

Espero que esto ayude :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top