文字列をテストして、英数字または句読点以外の文字が含まれているかどうかを確認し、含まれている場合はエラーを設定しようとしています。以下のコードがありますが、「CZW205é」を通過させているため、機能していないようです。私は正規表現に絶望的であり、問題を解決できないようです。
if(!preg_match("/^[a-zA-Z0-9\s\p{P}]/", $product_id)) {
$errors[$i] = 'Please only enter alpha-numeric characters, dashes, underscores, colons, full-stops, apostrophes, brackets, commas and forward slashes';
continue;
}
よろしくお願いします。