Bonjour,
Je me casse la tête avec les expressions régulières.
J’ai cette expression (8 caractères avec au moins une minuscule et au moins une majuscule).
^(?=.[a-z])(?=.[A-Z]).{8}$
voici mes tests :
<?
$regexp="^(?=.*[a-z])(?=.*[A-Z]).{8}$";
$value="aAaaaaaa";
echo "<br>en php =".preg_match("/".$regexp."/",$value);
?>
<script type="text/javascript">
var regM = new RegExp("<?=($regexp)?>");
document.write("<br>en js test1 ="+regM.test("<?=$value?>"));
regM = new RegExp(/<?=($regexp)?>/);
document.write("<br>en js test2 ="+regM.test("<?=$value?>"));
</script>
En résultat sous Firefox (tout est ok):
en php =1
en js test1 =true
en js test2 =true
En résultat sous IE (6) :
en php =1
en js test1 =false
en js test2 =false
Mon expression est-elle bonne ? (en général, en php, preg_match() n’accepte pas les mauvaises expressions ?)
Si oui, Que se passe-t-il sous IE ?
Merci d’avance