Underscores in the string will result in false, so you have to remove them first.
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ctype_upper — Verifica se os caracteres são maiúsculos
$text
): bool
Verifica se todos os caracteres na string fornecida,
text
, são maiúsculos.
text
A string a ser testada.
Retorna true
se todos caracteres em text
é
uma letra maiúscula no locale atual.
Exemplo #1 Um exemplo da ctype_upper() (usando o locale padrão)
<?php
$strings = array('AKLWC139', 'LMNSDO', 'akwSKWsm');
foreach ($strings as $testcase) {
if (ctype_upper($testcase)) {
echo "The string $testcase consists of all uppercase letters.\n";
} else {
echo "The string $testcase does not consist of all uppercase letters.\n";
}
}
?>
O exemplo acima produzirá:
The string AKLWC139 does not consist of all uppercase letters. The string LMNSDO consists of all uppercase letters. The string akwSKWsm does not consist of all uppercase letters.
Underscores in the string will result in false, so you have to remove them first.
// after screwing around with function.ctype-upper
// I found this simple solution
if (strtolower($string) != $string)// its so simple!
{
echo "uppercase letters found in $string";
}
source: http://stackoverflow.com/questions/4426327/how-to-detect-if-string-contains-1-uppercase-letter-in-php