您好,登錄后才能下訂單哦!
這篇文章主要介紹“php如何檢測字符串是否只有字母”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php如何檢測字符串是否只有字母”文章能幫助大家解決問題。
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 ]]])
參數說明如下:
$pattern:要搜索的模式,也就是編輯好的正則表達式;
$subject:要搜索的字符串;
$matches:可選參數(數組類型),如果提供了 $matches,它將被填充為搜索結果。 $matches[0] 包含完整模式匹配到的文本, $matches[1] 包含第一個捕獲子組匹配到的文本,以此類推;
$flags:可選參數,$flags 可以被設置為 PREG_OFFSET_CAPTURE,如果傳遞了這個標記,對于每一個出現的匹配,返回時都會附加上字符串偏移量(相對于目標字符串的);
$offset:可選參數,用于指定從目標字符串的哪個位置開始搜索(單位是字節)。
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如何檢測字符串是否只有字母”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。