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.

Était-ce utile?

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
scroll top