我有一个字符串,我需要测试以查看[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