我有一个字符串,它是以下形式之一
ABC // all caps:
// not necessarily "ABC", could be any combination of capital letters
Abc // first letter capitalized, rest are lowercase
abc // all lowercase
我需要区分这三种情况中的哪一种......最好的方法是什么?似乎没有islower()
或isupper()
函数;我想我可以使用strtoupper()
或strtolower()
创建一个。
答案 0 :(得分:8)
ctype_lower,ctype_upper
答案 1 :(得分:4)
使用正则表达式:
if(preg_match('/^[A-Z][a-z]*$/', $str)){
// uppercase first
}else if(preg_match('/^[a-z]+$/', $str)){
// all lower
}else if(preg_match('/^[A-Z]+$/', $str)){
// all upper
}
答案 2 :(得分:3)
ctype_upper()和ctype_lower()完成这项工作。
您可以执行ucfirst(),uclast(),strtolower(),strtoupper()并与原始字符串进行比较。
如果要检查某个字符是否为大写,只需使用substr()并再次与原始字符进行比较。
了解更多信息:PHP Strings