在
php中,可用preg_match()函數來配合正規表示式「/^[a-zA-Z\s] $/」來偵測字串是否只有字母,語法「preg_match("/^[a -zA-Z\s] $/",字串)」;如果傳回值為1則只有字母,傳回0則包含其他字元。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
php偵測字串是否只有字母,換個說法就是:判斷字串是否為純英文字母
在php中,可以使用preg_match()函數來搭配正規表示式來檢查。
使用的正規表示式:"
/^[a-zA-Z\s] $/
"
preg_match() 函數可以根據正規表示式對字串進行搜尋匹配,函數的語法格式如下:
preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])
參數說明如下:
preg_match() 函數可以傳回$pattern 的符合次數,它的值將是0 次(不符)或1 次,因為preg_match() 在第一次符合後將會停止搜尋。
如果傳回值為1則只有字母,傳回值為0則包含其他字元。
範例:
<?php header('content-type:text/html;charset=utf-8'); echo preg_match("/^[a-zA-Z\s]+$/","abcddfkj")."<br>"; echo preg_match("/^[a-zA-Z\s]+$/","ab12kj"); ?>
這樣的輸出不太好,我們自訂一個函數,做個處理,只有字母就回傳true,反之返回false
function is_english($str) { if(preg_match("/^[a-zA-Z\s]+$/",$str)){ return true; } return false; }
呼叫函數,判斷字串是否由純英文字母組成
var_dump(is_english('php.cn')); // bool(false) 含有标点符号所以返回 false var_dump(is_english('phpcn')); // bool(true) var_dump(is_english('phpcn123')); // bool(false) 含有123 var_dump(is_english('欢迎来到这里')); // bool(false) 都是中文
推薦學習:《PHP視頻教程》
以上是php怎麼偵測字串是否只有字母的詳細內容。更多資訊請關注PHP中文網其他相關文章!