Как проверить, если строка имеет только заглавные буквы?
Как я могу проверить, если все символы string
являются заглавные буквы?
, предпочтительно, без использования регулярных выражений.
14
Author: Wallace Maxters, 2013-12-11
3 answers
Для этого можно использовать функцию ctype_upper.
$string1 = 'ALLCAPS';
$string2 = 'NotAlLCAPS';
var_dump( ctype_upper( $string1 ), ctype_upper( $string2 ) );
//bool(true)
//bool(false)
В Случае необходимости разрешить цифр, пробелов и символов в целом, вы можете использовать это еще одна альтернатива, которая использует функцию mb_strtoupper:
mb_strtoupper( $string1 ) === $string1;
23
Author: jonathancardoso, 2016-08-18 11:44:55
$string = "ABCDE";
$uppercase = preg_match('#^[A-Z]+$#', $string);
,
$string = "ABCDE";
if (ctype_upper($string)) // retorna true se toda string estiver em maiúscula
{
echo "A string $string está toda em maiúscula";
}
13
Author: Flávio H. Ferreira, 2013-12-16 14:14:42
Существует еще один способ, это сравнить, если строка равна она же в вызове strtoupper
.
$upper = 'TUDO UPPER';
$non_upper = 'Nem Tudo UPPER';
if (strtoupper($upper) === $upper) {
echo "Sim, é tudo maiúscula";
}
if (strtoupper($non_upper) !== $non_upper) {
echo "Não é tudo maiúscula";
}
4
Author: Wallace Maxters, 2016-05-16 20:15:04