在PHP中,可以利用正規表示式和「preg_match()」函數來匹配數字和字母,該函數用於執行一個正規表示式的匹配,語法為「preg_match("/^[a -zA-Z0-9] $/u", 需要匹配的字串)」。
本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。
preg_match 函數用來執行一個正規表示式匹配。
語法
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
搜尋 subject 與 pattern 給定的正規表示式的一個匹配。
參數說明:
$pattern: 要搜尋的模式,字串形式。
$subject: 輸入字串。
$matches: 如果提供了參數matches,它將被填入搜尋結果。 $matches[0]將包含完整模式匹配到的文本, $matches[1] 將包含第一個捕獲子組匹配到的文本,以此類推。
$flags:flags 可以被設定為以下標記值:PREG_OFFSET_CAPTURE: 如果傳遞了這個標記,對於每一個出現的匹配返回時會附加字串偏移量(相對於目標字串的)。注意:這會改變填充到matches參數的數組,使其每個元素成為由第0個元素是匹配到的字串,第1個元素是該匹配字串在目標字串subject中的偏移量。
offset: 通常,搜尋會從目標字串的起始位置開始。可選參數 offset 用於 指定從目標字串的某個未知開始搜尋(單位是位元組)。
傳回值
傳回 pattern 的符合次數。它的值將是 0 次(不匹配)或 1 次,因為 preg_match() 在第一次匹配後 將會停止搜尋。 preg_match_all() 不同於此,它會一直搜尋subject 直到到達結尾。如果發生錯誤preg_match()回傳 FALSE。
正規表示式:/^[a-zA-Z0-9] $/u
釋義:
(1)“/” :正規表示式的定義,固定的書寫形式;
(2)「^」:表示開始;
(3)「[]」:表示一個字元組,符合包含的任何字元。例如,「[ab]」符合「plain」中的「a」;
(4)「a-z」:與小寫字母a-z相符的字母範圍;
(5)「A-Z ”:表示與大寫字母A-Z匹配的字母範圍;
(6)“0-9”:匹配範圍為0-9的數字;
(7)“ ”:表示匹配數為一個或多個;
(8)「$」:符合輸入行的結尾。如果設定了RegExp物件的Multiline屬性,則$也符合「\n」或「\r」之前的位置;
(9)「u」:最後一個u是模式修飾符,嚴格來說,它可以是預先定義的常數。表示使用unicode進行比對。
擴充資料:
其它正規表示式符號的意義:
(1)「*」:與上一個子運算式符合任意次。例如,zo*匹配“z”以及“zo”和“zoo”。 *等效於{0,};
(2)“?”:匹配上一個子表達式零或一次。例如,「做(es)?」符合「do」或「does」。 ?等價於{0,1};
(3)「{n}」:n是一個非負整數。匹配被確定n次。例如,「o{2}」不能與「Bob」中的「o」匹配,但是可以與「food」中的兩個o匹配;
(4)「{n,}」:n是一個非負整數。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但是可以匹配“foooood”中的所有o。 「o{1,}」等值於「o 」。 「o{0,}」等值於「o*」;
(5)「 {n,m}」:m和n是非負整數,其中n <= m。至少匹配n次,最多匹配m次。例如,「 o {1,3}」將符合「 fooooood」中的前三個o作為一個組,最後三個o作為一個組。 「 o {0,1}」等效於「 o?」。請注意,逗號和兩個數字之間不能有空格。
推薦學習:《PHP影片教學》
以上是php怎麼只匹配數字和字母的詳細內容。更多資訊請關注PHP中文網其他相關文章!