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 — 检测大写字符
text
要测试的字符串。
注意:
如果给出一个 -128 到 255 之间(含)的int, 将会被解释为该值对应的ASCII字符 (负值将加上 256 以支持扩展ASCII字符). 其它整数将会被解释为该值对应的十进制字符串.
自 PHP 8.1.0 起,弃用传递非字符串参数。未来该参数将解释为字符串而不是 ASCII 码点。根据预期行为,应将参数转为字符串或显式调用 chr()。
如果在当前区域设置中 text
里的每个字符都是大写字母,那么就返回
true
;否则返回 false
。当使用空字符串调用时,结果始终为 false
。
示例 #1 ctype_upper() 示例(使用当前默认语言环境)
<?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";
}
}
?>
以上示例会输出:
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