Esiste una funzione che riceve una stringa come parametro e restituisce un Bool se all'interno ci sono caratteri speciali(%,$, , ', ", \ .....)?![]()
grazie
Esiste una funzione che riceve una stringa come parametro e restituisce un Bool se all'interno ci sono caratteri speciali(%,$, , ', ", \ .....)?![]()
grazie
?!?!
No non mi servono queste funzioni....
Io devo rilevare in una stringa l'esistenza o meno di caratteri speciali di qualsiasi tipo esso siano(non devo apportare nessuna modifica).
Praticamente mi servirebbe un controllo sui campi user e password per evitare che l'utente inserisca ?,',%,/ oppure $ ecc....
Però vorrei evitare di controllare ad uno ad uno la presenza di questi caratteri.
Allora ti serve un'espressione regolare in cui specifichi i caratteri ammessi.
Quali sono quelli che vuoi permettere?
voglio consentire esclusivamente (_) e (-).
Io prensavo così:
così funziona.Codice PHP:
$user = "stringa qualunque";
$num1 = strlen(str_replace("%","",$user));
$num2 = strlen(str_replace("$","",$user));
$num3 = strlen(str_replace("\","",$user));
$numn = strlen(str_replace..........;
if($num1 != strlen($user)) || $num2 != strlen($user) || $num3 != strlen($user)){
echo "mi dispiace caratteri non validi";
}
Però pensavo ci fosse una scorciatoia.
E poi ci sono comunque dei carateeri sconosciuti che vorrei evitare fossero inseriti.
Come @, ç, #...insomma ce ne sono tanti.
allora fai il contrario invece che controllare quelli che nn vuoi che ci sianoOriginariamente inviato da lorenz_italy
voglio consentire esclusivamente (_) e (-).
Io prensavo così:
così funziona.Codice PHP:
$user = "stringa qualunque";
$num1 = strlen(str_replace("%","",$user));
$num2 = strlen(str_replace("$","",$user));
$num3 = strlen(str_replace("\","",$user));
$numn = strlen(str_replace..........;
if($num1 != strlen($user)) || $num2 != strlen($user) || $num3 != strlen($user)){
echo "mi dispiace caratteri non validi";
}
Però pensavo ci fosse una scorciatoia.
E poi ci sono comunque dei carateeri sconosciuti che vorrei evitare fossero inseriti.
Come @, ç, #...insomma ce ne sono tanti.
controlla quelli che vuoi che siano usati e se sono solo quelli che vuoi tu fai andare avanti altrimenti no
Piuttosto che fare il replace di ognuno fai prima a definire quelli che vuoi ammettere.Originariamente inviato da lorenz_italy
voglio consentire esclusivamente (_) e (-).
oltre a _ e - immagino che siano consentire le lettere e i numeri o per lo meno le lettere.
Scusami non ti seguo.
Se l'utente inserisce nel campo una stringa del genere:
lore_nz@
oppure
lore_n'
rilevo l'underscore che va bene, ma comunque dovrei rilevare anche l'apice o la chiocciolina.
Guarda, non sono la persona più indicata per le espressioni regolari perchè sono davvero toste però ti faccio un esempio terra terra.Originariamente inviato da lorenz_italy
Scusami non ti seguo.
Se l'utente inserisce nel campo una stringa del genere:
lore_nz@
oppure
lore_n'
rilevo l'underscore che va bene, ma comunque dovrei rilevare anche l'apice o la chiocciolina.
In questo caso il nome non sarà valido perchè gli unici caratteri ammessi saranno lettere,numeri,l'underscore e il trattino.Codice PHP:
$nome = "lore_nz@";
if (!preg_match("/^[a-z0-9_-]+$/i",$nome))
echo "non valido";
else
echo "valido";
Sicuramente qualcuno ti scriverà una regex più decente della mia.
potresti anke usare una funzione tipo questaOriginariamente inviato da lorenz_italy
Scusami non ti seguo.
Se l'utente inserisce nel campo una stringa del genere:
lore_nz@
oppure
lore_n'
rilevo l'underscore che va bene, ma comunque dovrei rilevare anche l'apice o la chiocciolina.
http://it.php.net/manual/it/function.ereg.php