两种方法:1、用strlen()和ord()检查每个字母是否为大写,语法“for($i=0;$i1fae147b9a3731a3969193f7eb684744=ord('a')&&ord($str[$i])<=ord('z')){//含大写字母}}”。2、用preg_match()配合正则表达式来检测,语法“preg_match('/[a-z]/', $str)”,若返回1则含。
本教程操作环境:windows7系统、php8.1版、dell g3电脑
php检查字符串中是否含有大写字母,也可以理解为判断字符串中的所有字母是否为小写。可以利用下面两种方法来判断。
方法1:strlen() +ord() 函数一个个的检查字符串中的每个字母是否为大写
先使用 strlen() 函数来获取字符串的长度再循环取出单个字母
然后再利用 php ord() 函数来检查每一个字母是否为大写
ord() 函数可以返回字符的 ascii 值。
而ascii 值在65~90为26个大写英文字母,在97~122号为26个小写英文字母。
只需获取字符的ascii 值,在检查是否在65~90间即可。
php自定义函数:
/** * # 检测字符串中是否含有大写字母 * @param string 要判断的字符串 * * @return bool 含有大写字母返回 true 否则返回 false */function is_bigstr($str){ for ($i = 0; $i < strlen($str); $i++) { if (ord($str[$i]) >= ord('a') && ord($str[$i]) <= ord('z')) { return true; } } return false;}
函数调用:
var_dump(is_bigstr('hello'));// falsevar_dump(is_bigstr('hello'));// true
方法2:使用preg_match()函数配合正则表达式来检测是否含有大写字母
preg_match 函数用于执行一个正则表达式pattern匹配,会返回 pattern 的匹配次数(0或1)。0代表没有匹配,1代表有匹配。
用到的正则为:/[a-z]/,用于查找大写字母
<?phpheader('content-type:text/html;charset=utf-8'); function is_bigstr($str){ if(preg_match('/[a-z]/', $str)){ echo '有大写字母!<br>'; }else{ echo '没有大写字母!<br>'; }}is_bigstr('hello');is_bigstr('hello');?>
第一个字符串中没有大写字母,因此没有匹配,返回0;而0在if语句的()中会被自动转为false;因此执行else中的代码。
第二个字符串中有大写字母,因此有匹配,返回1;而1在if语句的()中会被自动转为true;因此直接执行if后的代码。
推荐学习:《php视频教程》
以上就是php怎么检测字符串含大写字母吗的详细内容。