Pergunta

Depois da minha web formulário é submetido, uma regex será aplicado à entrada do usuário no lado do servidor (via PHP).Eu gostaria de ter o mesmo regex execução em tempo real no lado do cliente para mostrar ao usuário o que o real de entrada vai ser.Este vai ser praticamente o mesmo que a seção de pré-Visualização em fazer Pergunta páginas no Estouro de Pilha, exceto com PHP no back-end em vez de .LÍQUIDA.

O que eu preciso fazer para manter em mente a fim de ter o meu em PHP e JavaScript expressões regulares funcionam exactamente o mesmo que o outro?

Foi útil?

Solução

Hehe essa foi uma espécie de freqüentes momentos atrás e Jeff apontou:
http://www.regular-expressions.info/refflavors.html.

Há uma comparação da expressão regular capacidades através de ferramentas e linguagens.

Outras dicas

Se as expressões regulares são simples, então não deve haver problema, como o básico de expressões regulares são comuns entre a maioria das implementações.

Para pormenores então seria melhor para o estudo de ambas as implementações:

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

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

Javascripts implementação é, provavelmente, a mais básica, então, se você estiver indo para um menor denominador comum abordagem em seguida, apontar para um.

Descobri que diferentes implementações de expressões regulares, muitas vezes, têm diferenças sutis no que exatamente eles suportam.Se você quer ser inteiramente certeza de que o resultado será o mesmo em ambos os frontend e back-end, o livras opção seria fazer uma chamada Ajax para o PHP back-end e use o mesmo pedaço de código PHP, tanto para regex avaliações.

@LKM AJAX é o claro vencedor aqui.Isso também irá permitir que você siga as SECO princípio.Por que você quer escrever sua análise de código em Javascript e O PHP?

Tanto JavaScript regex e PHP preg_match são baseados em Perl, portanto, não deve haver qualquer portar problemas.Nota, no entanto, que o Javascript suporta apenas um subconjunto de modificadores, que o Perl suporta.

Para mais informações, comparando os dois:

Como para o método de entrega, eu sugiro que você gostaria de usar JSON, o mais fino formato de intercâmbio de dados data (AFAIK) e directamente transponível para um objeto JavaScript através de eval().Basta colocar que o menino mau, através de uma AJAX sessão e você deve estar pronto para ir.

Espero que isso ajude :)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top