permitindo que apenas determinados caracteres em seqüência
Pergunta
Eu tenho procurado uma maneira de criar uma função para verificar se uma string contém nada além de letras minúsculas e números nele, e se isso acontecer retorno falsa. Tenho pesquisado na internet, mas tudo o que posso encontrar é métodos antigos que exigem que você use funções que são agora obsoletas em PHP5.
Solução
function check_input( $text ) {
if( preg_match( "/[^a-z0-9]/", $text ) ) {
return false;
}
else {
return true;
}
}
Outras dicas
Use um regex. Use preg_match () .
$matches = preg_match('/[^a-z0-9]/', $string);
Portanto, agora se $matches
tem 1
, você sabe o $string
contém caracteres ruins. Caso contrário $matches
é 0
, eo $string
é OK.
Para mixen as coisas um pouco
<?
$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
}
}
?>
Mas regex é provavelmente o caminho a percorrer aqui! =)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow