我有一个表单字段,我想检查用户是否提交了正确的模式。我试过这种方式。
#slider
以下car_plate编号格式正确(AAA-456,AGC-4567,WER-123)。在这种情况下,它总是返回错误。什么是正确的方法?
答案 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的文档中看到。