Consentire solo determinati caratteri nella stringa
Domanda
Ho cercato un modo per creare una funzione per verificare se una stringa contiene qualcosa di diverso dalle lettere minuscole e dai numeri e se restituisce false. Ho cercato su Internet, ma tutto ciò che posso trovare sono vecchi metodi che richiedono di utilizzare funzioni che ora sono deprecate in PHP5.
Soluzione
function check_input( $text ) {
if( preg_match( "/[^a-z0-9]/", $text ) ) {
return false;
}
else {
return true;
}
}
Altri suggerimenti
Usa una regex. Usa preg_match () .
$matches = preg_match('/[^a-z0-9]/', $string);
Quindi ora se $ corrisponde
ha 1
, sai che $ string
contiene caratteri errati. Altrimenti $ corrispondenze
è 0
e $ string
è OK.
Per mescolare un po 'le cose
<?
$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
}
}
?>
Ma probabilmente regex è la strada da percorrere qui! =)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow