[PHP] Controllo inserimento tot caratteri

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Ciao a tutti,
come posso verificare se un utente inserisce obbligatoriamente 8 caratteri,altrimenti error stampato a video?
Grazie a tutti in anticipo
 

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Che ti po di dati sono? Numeni, lettere o simboli o tutti e tre?

In generale potresti provare con questo se ti è sufficiente:

Codice:
$stringa = 'Stringa di esempio';
echo strlen($stringa); // restituirà 18
strlen() restituisce il numero dei caratteri che compongono la stringa, spazi inclusi. Se il controllo è solo sul numero di caratteri dovrebbe andare..
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
2.931
166
63
Lombardia
PHP:
$datox  = "123456789.123456789.123456789.123456789.123456789.";
$dato9  = "string with utf-8 chars åèä - doo-bee doo-bee dooh";
$dato50 = "xyz";

echo $dato9."<br />";
echo strlen($dato9)."<br />";
echo mb_strlen($dato9)."<br /> <br />";

if($dato50 == "" || $dato9 == "")
{
    echo "<h1><font color='white'>ATTENZIONE , DEVI COMPILARE TUTTI I CAMPI !</font></h1>";
    header("Refresh: 4; URL= http://miosito.org/registrazione_utenti/box/index.php");
}
else if ( mb_strlen($dato9) != 8 )
{
    echo "<h1><font color='white'>ATTENZIONE , NON HAI INSERITO IL NUMERO DEI CARATTERI ATTESO !</font></h1>";
    header("Refresh: 4; URL= http://miosito.org/registrazione_utenti/box/index.php");
}
else
{
    // codice successivo
}
decidi tu quale funzione usare
 
  • Like
Reactions: otto9due

otto9due

Utente Attivo
22 Feb 2014
529
21
28
In effetti conviene più mb_strlen(), non avevo messo in conto quel tipo di caratteri.
 

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Se vuoi filtrare anche i simboli a scopo didattico ho creato questa:
PHP:
<?php
$string = 'Prova259';// se provi a fare $string = 'Prova2#9' $string = 'Prova2$9'ecc.. non passa. Elimini questi caratteri [-!"#$%&'()*+,./:;<=>[email protected][\\\]^_`{|}~];

$pattern = '/[ [:punct:]]+/';

if( !preg_match_all( $pattern, $string ) && mb_strlen($string, 'UTF-8') == 8 ){
    echo 'Pass ok';
}else{
    echo 'Pass No';
}
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Grazie mille..provo subito..
RISOLTO
 
Ultima modifica: