首頁  >  文章  >  後端開發  >  php怎麼偵測字串含大寫字母嗎

php怎麼偵測字串含大寫字母嗎

青灯夜游
青灯夜游原創
2022-08-25 18:52:233070瀏覽

兩種方法:1、用strlen()和ord()檢查每個字母是否為大寫,語法「for($i=0;$i=ord('A')&&ord($str[$i])

php怎麼偵測字串含大寫字母嗎

本教學操作環境: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

php怎麼偵測字串含大寫字母嗎

方法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;);
?>

php怎麼偵測字串含大寫字母嗎

  • 第一個字串中沒有大寫字母,因此沒有匹配,返回0;而0在if語句的()中會被自動轉為FALSE;因此執行else中的代碼。

  • 第二個字串中有大寫字母,因此有匹配,返回1;而1在if語句的()中會被自動轉為TRUE;因此直接執行if後的程式碼。

推薦學習:《PHP影片教學

以上是php怎麼偵測字串含大寫字母嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn