PHP - preg_match 仅用于数字和单破折号
PHP - preg_match for only numbers and single dash
假设我只允许这种格式 2015-2016
,它包含数字并且只有一个破折号。我怎样才能用 preg_match
做到这一点?我尝试了以下方法,但没有成功。
$a = '2015-2016';
if(!preg_match('/[^0-9\-]/i',$a)) {
then return not valid data`
}
$a = '2015-2016';
if(!preg_match('/^[0-9 \-]+$/',$a)) {
then return not valid data }
试试看。
希望这会有所帮助
preg_match('/^\d{4}-\d{4}$/', $string);
^
字符串开头
\d{4}
匹配一个数字[0-9]正好4次
-
匹配字符 - 字面意思
\d{4}
匹配一个数字[0-9]正好4次
$
字符串结束
假设我只允许这种格式 2015-2016
,它包含数字并且只有一个破折号。我怎样才能用 preg_match
做到这一点?我尝试了以下方法,但没有成功。
$a = '2015-2016';
if(!preg_match('/[^0-9\-]/i',$a)) {
then return not valid data`
}
$a = '2015-2016';
if(!preg_match('/^[0-9 \-]+$/',$a)) {
then return not valid data }
试试看。
希望这会有所帮助
preg_match('/^\d{4}-\d{4}$/', $string);
^
字符串开头
\d{4}
匹配一个数字[0-9]正好4次
-
匹配字符 - 字面意思
\d{4}
匹配一个数字[0-9]正好4次
$
字符串结束