質問: ■やりたいこと 商品を追加するサイトを作りたい ■問題点 価格のところに半角英数字を入力しているのにエラーが出る ``` 商品追加 商品名を入力してください 価格を入力してください ``` ``` //pro_add_check.php '; }else{ print '商品名:'; echo $pro_name; print ''; } //ここがうまくいかない if(preg_match('/¥A[0-9]+¥z/',$pro_price) ==0){ print '価格をきちんと入力してください'; }else{ echo '価格'.$pro_price.'円 '; } if($pro_name ==''||preg_match('/¥A[0-9]+¥z/',$pro_price) ==0){ print ''; print ''; print ''; } ?> ```
回答: まず、正規表現で『何を許可』するかを明確にしてください。 『行頭から行末まで半角数字のみを許可』であれば以下で十分なはずです `^[0-9]+$` 自分で作った正規表現が正しいかどうかは以下のようなサイトで構造を確認してテストするといいです。 構造確認用サイト:https://jex.im/regulex/ 動作確認用サイト:https://regex-testdrive.com/ja/