我有一個字符串,我需要測試以查看[0]字符(最先)後面的字符是否爲數字。Preg_match和substr在一起
所以例如:
C爲[0]
然後我需要檢查,如果剩餘的字符都只有數字意味着℃之後,我們得到:
使字符串C12345678
這是我試過的:
elseif(substr($str, 1, preg_match("/^[0-9]/", $str) === FALSE))
{
$this -> set_message('is_valid_student_id', 'Must have 8 digits 0 - 9');
return FALSE;
}
第一個字符總是一個字符,最後8個字符總是數字。
感謝
編輯1:
所以做什麼你們告訴我,不給我預期的結果...
elseif (preg_match("/^\c\d{8}$/i", $str) === FALSE) // Lower case cC + 8 digits
{
$this -> set_message('is_valid_student_id', 'must have 8 digits 0 - 9');
return FALSE;
}
沒有返回FALSE即使我在第一個字母后鍵入一個字母[c或C]
它總是*第一個字符後的八位數?怎麼樣的正則表達式如下: /^ \ D \ d {8} $/ – Mike
是的,無論如何,它會始終是第一個字母后8位數字。 – user2406611
你的語法看起來不正確,你傳遞preg_match作爲substr的第三個參數? – Dropzilla