Permettant seulement certains caractères dans la chaîne
Question
Je recherchais un moyen de créer une fonction permettant de vérifier si une chaîne de caractères contenait autre chose que des lettres minuscules et des chiffres et si elle renvoyait une valeur false. J'ai cherché sur Internet, mais tout ce que je peux trouver, ce sont de vieilles méthodes qui vous obligent à utiliser des fonctions qui sont maintenant obsolètes en PHP5.
La solution
function check_input( $text ) {
if( preg_match( "/[^a-z0-9]/", $text ) ) {
return false;
}
else {
return true;
}
}
Autres conseils
Utilisez une expression régulière. Utilisez preg_match () .
$matches = preg_match('/[^a-z0-9]/', $string);
Donc, maintenant, si $ correspond
a 1
, vous savez que la $ chaîne
contient des caractères incorrects. Sinon, $ correspond
est 0
et la $ chaîne
est OK.
Pour mélanger un peu les choses
<?
$input = "hello world 123!";
$digits = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0");
if (ctype_alnum($input))
{
if (ctype_lower(str_replace($digits, "", $input)))
{
// Input is only lowercase and digits
}
}
?>
Mais regex est probablement la voie à suivre ici! =)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow