兩種方法: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('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怎麼偵測字串含大寫字母嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!