// カード番号 if (! preg_match('/^(4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|6(?:011|5[0-9]{2})[0-9]{12}|^(?:2131|1800|35\d{3})\d{11}$)$/', $str)) { // エラー } // セキュリティコード(3~4桁の数字) if (! preg_match('/^[0-9]{3,4}\z/', $str)) { // エラー } // 有効期限(MMYY) if (! preg_match('/^([0-9]{2})([0-9]{2})\z/', $str, $matches)) { // エラー } else { $month = $matches[1]; $year = sp