Bonjour,

J'ai une regex fonctionnelle, en JS ne n'est aucun problème avec.
Par contre en PHP, outre le fait qu'il convertie "€" en "€\" dans ma regex, alors que le code "normal" c'est "€" et je pense que c'est pour l'antislash qu'il rajoute qui fout la merde.

Voici ma regex :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
"/^(?=.{1,}[a-z])(?=.{2,}[A-Z])(?=.{1,}[0-9])(?=.{1,}[&#@=€$%*?/:!-+])([a-zA-Z0-9&#@=€$%*?\\/:!\\-+]){8,}\$/"
Regex dans PHP :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
"/^(?=.{1,}[a-z])(?=.{2,}[A-Z])(?=.{1,}[0-9])(?=.{1,}[&#@=€\$%*?/:!-+])([a-zA-Z0-9&#@=€\$%*?\\/:!\\-+]){8,}\$/"
preg_match me renvoie FALSE, donc une erreur lors de l’exécution, je ne comprends pas comment contourner le problème.

Je vous mets quand le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
        $pattern = $regex->regexMdp($result); //récupération de la regex généré
        $pattern = "/".$pattern."/"; //ajout des delimiteurs (non utilise en JS)
	$ok=preg_match($pattern,$value);
J'espère que vous aller pouvoir m'aider, car la je sèche complètement.