次のコードを検証するには、正規表現が必要です。目的の結果を示したコードの背後にあります。
<?php
$codes[] = 'PI-1234-265K'; // true
$codes[] = 'PIS2-12FG-265K'; // false
$codes[] = 'PI-1234FG-265K'; // false
$codes[] = 'PI-1234-2'; // false
$codes[] = 'PI-1234-265K12313'; // true
foreach($codes as $code){
var_dump(preg_match('/[a-zA-Z0-9]{2}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{2,}/', $code));
echo '<br/>';
}
?>
現在、最初の部分が適切にチェックされず、11001 が返されますが、望ましい結果は 10001 です。