PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php怎么检测字符串含大写字母吗

青灯夜游
青灯夜游 原创
2022-08-25 18:52:23 2724浏览

两种方法:1、用strlen()和ord()检查每个字母是否为大写,语法“for($i=0;$i=ord('a')&&ord($str[$i])

本教程操作环境: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(&#39;A&#39;) &&
            ord($str[$i]) <= ord(&#39;Z&#39;)) {
            return true;
        }
    }
    return false;
}

函数调用:

var_dump(is_bigstr(&#39;hello&#39;));
// false
var_dump(is_bigstr(&#39;Hello&#39;));
// true

1.png

方法2:使用preg_match()函数配合正则表达式来检测是否含有大写字母

preg_match 函数用于执行一个正则表达式pattern匹配,会返回 pattern 的匹配次数(0或1)。0代表没有匹配,1代表有匹配。

用到的正则为:/[A-Z]/,用于查找大写字母

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);  
function is_bigstr($str)
{
    if(preg_match(&#39;/[A-Z]/&#39;, $str)){
    	echo &#39;有大写字母!<br>&#39;;
	}else{
	    echo &#39;没有大写字母!<br>&#39;;
	}
}
is_bigstr(&#39;hello&#39;);
is_bigstr(&#39;Hello&#39;);
?>

2.png

  • 第一个字符串中没有大写字母,因此没有匹配,返回0;而0在if语句的()中会被自动转为FALSE;因此执行else中的代码。

  • 第二个字符串中有大写字母,因此有匹配,返回1;而1在if语句的()中会被自动转为TRUE;因此直接执行if后的代码。

推荐学习:《PHP视频教程

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。