2

G20003030G-20003030などのチェック文字列の正規表現を作成しています。最初の文字は、VGJ のいずれかです。これは私のコードです:

$string = "G20003030";
if (preg_match('^[VGJ]{1,1}?[0-9]{8,8}$/', $string)) {
    echo "passed";
} else {
    echo "not passed";
}

しかし、それは常に「合格していません」を返します。正規表現の何が問題で、両方のバリアントをチェックする方法は? (私のコードは最初のものでしか機能しないと思います)

4

2 に答える 2

3

警告: : /code/xxxxxx.php の 3 行目にpreg_match()終了区切り文字がありません'^'

最初のスラッシュとハイフンを忘れました ( @Sepsterに感謝)。

/^[VGJ]-?[0-9]{8}$/
于 2012-09-13T16:14:13.387 に答える
2

この正規表現を使用してみてください:

/^[VGJ]-?[0-9]{8}$/
于 2012-09-13T16:16:10.423 に答える