如何知道字符串中的所有字母都是大写?PHP:如何知道字符串中的所有字母都是大写?
回答
if(strcmp(strtoupper($str), $str) === 0) {
echo 'is uppercase';
}
使用mb_strtoupper
如有特殊字符编码参与。
使用strcmp
进行二进制安全字符串比较。
你可以尝试制作字符串的副本,该副本转换为大写,并将其与原始字符串:
public function isUpperCase ($string) {
return $string === strtoupper($str);
}
OR,一个更好的版本(这是多字节安全*)将是:
public function mb_isUpperCase ($string) {
$upper = mb_convert_case(
$string,
MB_CASE_UPPER,
mb_detect_encoding(
$string
)
);
return $string === $upper;
}
*请注意,mb_detect_encoding可能会失败,并返回false。在生产环境中,您应该向mb_detect_encoding提供可能的编码列表,或处理mb_detect_encoding失败的情况。
我只有多字节版本的问题是编码检测,这是一个非常困难的事情要做,并且如果它错误的话会破坏你的字符串。 +1的唯一真正的方式来做到这一点。 – 2010-03-08 21:33:37
同意。为这种情况增加了一点评论 – PatrikAkerstrand 2010-03-08 21:37:45
如果所有字符都是字母,并且它是ASCII字符串,则ctype_upper()可能是可能的。
如果它是一个很长的字符串,并且您不想制作副本,那么请走过字符串并查看每个字符的ascii值。如果它小于97,你就知道它全是大写字母。
- 1. 如何检查字符串中的所有字符是否都是字母?
- 2. 如何让字符串大写的所有字母?
- 3. 如何定位包含所有大写字母的字符串?
- 4. 检测字符串中的所有大写字母
- 5. 如何检查UTF-8字符串中的所有字母是否都是ASCII?
- 6. 首字母大写的字符串首字母大写
- 7. Mysql - 字符串中的大写字母
- 8. 将所有大写字母替换为小写字母,除了urlencoded字符串
- 9. SQL:如何创建将字符串中的所有大写字母都变为小写字母和小写字母的函数
- 10. 如何用PHP打大写字母的字符串?
- 11. 我该如何大写字符串中所有单词的第一个字母?
- 12. C#字符串中所有字母字符的反向大小写
- 13. 如何检测字符串是否包含PHP中的1个大写字母
- 14. 函数检查字符串中的所有元音是否都是大写字母
- 15. 将字符串中的每一个其他字母都大写 - 列表中的每个其他字母大写
- 16. 将字符串转换为所有大写字母与std :: transform
- 17. 如何查找只有大写字母的单词(字符串)?
- 18. 如何计算Java中的字符串中的大写字母?
- 19. 如何使文本字段中的所有内容都是大写字母/大写?
- 20. 带大写字母和小写字母的字符串转换
- 21. 检查字符串中的所有字母(来自任何主要口语)是否为大写字母
- 22. 字符串的首字母大写
- 23. 如何转换一个字符串,其中第一个字母是大写,其余的都是小写。
- 24. 将句子中所有字母从大写字母转换为小写字母,除了所有大写字母都使用R
- 25. 如何从字符串中删除所有字母字符?
- 26. 如何在句子中大写字符串的首字母?
- 27. 如何在使用Java的字符串中首字母大写?
- 28. 如何将字符串中的第一个字母大写?
- 29. 如何反转字符串中每个字母的大小写?
- 30. 如何知道Javascript中的字符串中有UTF8字符?
如果它有数字呢? – SLaks 2010-03-08 21:27:24