View Full Version : [PHP] Funzionamento Regex
Premettendo che ho già cercato con Google, vorrei capire come funzionano le regex in PHP perchè non riesco proprio a comprenderle. Siccome stavo facendo un sistema di login in PHP mi interessava verificare che l'username o la password contengano solo le lettere dell'alfabeto (maiuscolo e minuscolo) o numeri. Ho provato con la funzione preg_match() ma non ho capito sinceramente molto di quello che sto facendo. Quindi vi chiedo:
Come è strutturata una regex in PHP ?
Grazie anticipatamente e ciao ;)
ciao
<?php
$stringa = "ciao";
if(preg_match("[ciao]",$stringa)){
echo'la stringa matcha';
}
?>
così è strutturata una regex in PHP :)
Ciao k8 ci incontriamo sempre :D
Io praticamente devo verificare la validità di un username o password, e quindi scrivo questo codice:
<?php
$str = "ciao1#";
if (preg_match('/[a-zA-Z0-9]/', $str)) {
print $str;
}
?>
In teoria la parola non dovrebbe essere visualizzata poichè è presenta il carattere # mentre viene printata :confused:
Grazie ancora e ciao ;)
marcus81
08-08-2008, 12:05
Hai dimenticato a mettere inizio riga '^', fine riga '$' e una o più ripetizioni '+'
prova questo codice:
<?php
$str = "ciao1";
if (preg_match("/^[a-zA-Z0-9]+/", $str)) {
echo $str;
}
else
echo "La stringa contiene caratteri non validi";
?>
Alla fine ho utilizzato questo codice:
<?php
function verifica($str) {
$n = preg_match_all('/[a-zA-Z0-9]/', $str, $asd);
if ($n == strlen($str))
return 1;
else
return 0;
}
if (!verifica("ciao"))
print "Stringa non corretta";
else
print "Stringa corretta";
?>
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.