«

php如何检测字符串是否含大写字母

时间:2024-4-15 08:57     作者:韩俊     分类: PHP


这篇文章主要介绍“php如何检测字符串是否含大写字母”,在日常操作中,相信很多人在php如何检测字符串是否含大写字母问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何检测字符串是否含大写字母”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

两种方法:1、用strlen()和ord()检查每个字母是否为大写,语法“for($i=0;$i<字符串长度;$i++){if(ord($str[$i])>=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'));
// false
var_dump(is_bigstr('Hello'));
// true

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

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

用到的正则为:

/[A-Z]/
,用于查找大写字母

<?php
header('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教程

热门推荐