2015-03-10 2 views
2

Как и в названии, я ищу способ проверить, содержит ли строка в нем прописную букву. Это поле пароля, и я не могу использовать регулярное выражение, потому что мы еще не узнали об этом еще в классе.Заглавная буква PHP в String

Я попытался использовать ctype_upper, но это работает только в том случае, если каждый символ в строке имеет верхний регистр.

Есть ли способ проверить любой символ в строке, но не использовать регулярное выражение?

ответ

4

Вы можете попробовать это:

if (strtolower($string) != $string) { 
    echo 'You have uppercase in your string'; 
} else { 
    echo 'You have no uppercase in your string'; 
} 

Проверяется, если преобразованная строка в нижнем регистре, равна исходной строке. Надеюсь, что это помогает ...

3

Попробуйте это ..

Используйте strtoupper() функции, чтобы преобразовать строку в прописные символы, который заглавные буквы, а затем сравнить преобразованную строку с исходным, чтобы увидеть если они идентичны. Если они есть, то вы вполне уверены, что исходная строка была также строка, состоящая только из заглавных букв

if (strtoupper($string) == $string) { 
echo $string.' is all uppercase letters.';} 
+0

"если строка содержит в себе верхнюю букву". Я думаю, что OP требует, чтобы по крайней мере символ верхнего регистра в строке не проверял всю строку как верхний регистр. –

0

функция isPartUppercase ($ string) {если (preg_match ("/ [AZ] /", $ строка) === 0) {return true; } return false; }

Функция использует простое регулярное выражение, которое пытается найти любые строчные AZ-символы, preg_match() возвращает количество экземпляров выражения, которое оно находит в строке, но останавливается на 1, preg_match_all() возвращает счетчик всех найденных им экземпляров.

Смежные вопросы