Php preg_match模式

时间:2015-05-17 02:52:00

标签: php preg-match

我有一个表单字段,我想检查用户是否提交了正确的模式。我试过这种方式。

#slider

以下car_plate编号格式正确(AAA-456,AGC-4567,WER-123)。在这种情况下,它总是返回错误。什么是正确的方法?

2 个答案:

答案 0 :(得分:2)

替代TimoSta的答案。

/^[a-zA-Z]{3}-?\d{3,4}$/

这允许用户以小写字母输入字母并跳过短划线

您可以像这样格式化数据:

$input = 'abc1234';
if ( preg_match( '/^([a-zA-Z]{3})-?(\d{3,4})$/', $input, $matches ) )
{
    $new_input = strtoupper( $matches[1] ) . '-' . $matches[2];
    echo $new_input;
}

输出:ABC-1234

答案 1 :(得分:1)

看起来你的正则表达式有点偏差。

试试这个:

/^[A-Z]{3}-[0-9]{3,4}$/

在PHP中,您必须用delimiters括起正则表达式,在本例中为斜杠。除此之外,{3|4}无效,正确的语法为{3,4},您可以在涵盖repetition的文档中看到。