Funzione strpos con l'utilizzo di array

  • Creatore Discussione Creatore Discussione asevenx
  • Data di inizio Data di inizio

asevenx

Utente Attivo
7 Nov 2009
312
0
16
Salve, devo verificare se una stringa contenga dei numeri, per questo avevo pensato di usare la funzione "strpos" ma non so come impostarla.

La Array è la seguente:
$numeri = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');

Mentre la funzione:
$strpos = strpos($password, $numeri);

Ma ho questo errore:
Warning: strpos(): needle is not a string or an integer in /web/htdocs/www.sito.it/home/wp/form/conferma.php on line 118

Qualcuno saprebbe dirmi come impostarla correttamente?
Grazie a tutti
 
ciao
prova così
PHP:
<?php
//$password="13579";// questa da password corretta
$password="135aa79";//questa da password errata
if(preg_match("/^[0-9]{1,10}$/", $password)){
	echo "pass $password corretta";
}else{
	echo "pass errata";
}
?>
 
Ciao Borgo Italia, ti rigrazio per la risposta ma forse non mi sono spiegato bene.

Io devo validare una password composta da 8 caratteri, con almeno un numero o una lettera. Cioè:

1234567a password corretta
abcdefg8 password corretta
12345678 password errata
abcdefgh password errata

Dal modo che mi suggerisci posso validare esclusivamente le password numeriche se non sbaglio, invece la password può contenere sia lettere che numeri, però con la presenza obbligatoria di almeno un numero.

La mia idea (non so se è giusta o fattibile) era di contare quanti caratteri fosse composta la stringa, poi se il risultato fosse stato 8, avrei verificato la presenza di un numero tramite la funzione strpos collegata ad un array che contenesse tutti i numeri da 0 a 9.

Secondo te come posso fare?
 
Ciao, non sono un amante delle espressione regolari , ma , per comodità utilizzo una simile a questa
PHP:
<?php
$password = "aaaaaaAaa123";
if (preg_match("/^.*(?=.{8,})(?=.*\d)(?=.*[a-z]).*$/", $password)) {
    echo "OK";
} else {
    echo "KO";
}
 

Discussioni simili