6
votes

Puis-je utiliser une expression régulière JavaScript dans PHP tel qu'il est

J'utilise une expression régulière en JavaScript et je veux aussi faire la validation du côté serveur avec la même expression régulière. Dois-je la modifier pour le rendre compatible ou fonctionnera tel quel.

Comment utiliser une expression régulière PHP. S'il vous plaît fournir un petit exemple. P>

Merci d'avance p>

EDIT STRY> P>

pour la validation par courrier électronique P>

var pattern = new RegExp(/^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/);


0 commentaires

4 Réponses :


2
votes

Vous devez utiliser l'une des fonctions suivantes Preg_Match ou Preg_Match_All . Et avec un peu de chance, vous n'avez pas besoin de modifier votre regex. PHP Regex utilise la récolte classique Perl Regex, donc une correspondance ressemblerait à Preg_Match_All ('/ ([A-ZA-Z0-9] +) /', $ myStringTobétesteté, $ résultats); code>

ultérieur ultérieur EDIT: P>

$string="test@mail.com";

if(preg_match('/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/', $string))
    echo "matches!";
else
    echo "doesn't match!";


0 commentaires

3
votes

censé fonctionner pour la plupart des motifs, sauf échappement de caractères spéciaux et de barres anti-backs, mais pas d'inverse, PHP Regex a des fonctionnalités que JavaScript comme JavaScript comme regardez derrière des expressions.

javascript : /[a-z]+/
php        : '/[a-z]+/'


0 commentaires


3
votes

PHP Regexp est basé sur PCRE (expression régulière compatible Perl). Exemple (Rechercher des chiffres): xxx

voir Documentation PHP .

JavaScript Regexp est légèrement différente (ECMA). xxx

voir ici pour un tableau de comparaison.


0 commentaires