☆ショッピングカートのCGIを作りたい!Perlで☆ (517レス)
上下前次1-新
318: 名無しさん@お腹いっぱい。 02/02/11 22:44 ID:+mlK3wYT(1) AAS
>>317
全然違う。検索は $scalor =~ /$hoge/; だぞ。
if ($price =~ /\D/) {
print "価格はカンマ無しの半角数字で入力してください";
}
まあがんばれ。
319(2): 無謀者 02/02/11 23:18 ID:??? AAS
↑の通りに書いてみたら,半角数字も弾かれちゃいました・・・・・
320: 名無しさん@お腹いっぱい。 02/02/11 23:24 ID:??? AAS
>319
\Dは数字以外じゃない?
外部リンク[htm]:tohoho.wakusei.ne.jp
321: 無謀者 02/02/11 23:28 ID:??? AAS
そうだと思うんですが・・・・
だから
$price=~/\D/;
だと「$priceに数字以外のものが含まれていれば」
って事になりますよね?
322: 名無しさん@お腹いっぱい。 02/02/11 23:32 ID:??? AAS
だから半角数字だけならエラーにならないんじゃ?
323: 無謀者 02/02/11 23:34 ID:??? AAS
のはずなんですが・・・・弾かれちゃうんですよ・・・
もう一度ソース見直してみます。
324: 名無しさん@お腹いっぱい。 [ ] 02/02/11 23:35 ID:??? AAS
ってかさ、数字以外は取り除けばいいんでない?
そっちの方がユーザーライクだと思うが。
$price =~ tr/0-9//cd;
325: 名無しさん@お腹いっぱい。 02/02/11 23:38 ID:??? AAS
>>319
スペースも渡されてるとか
326: 無謀者 02/02/11 23:40 ID:??? AAS
それも考えたんですが、全角数字入れられた時の対応も一緒に
やっちゃおうと思ったので。
327: 無謀者 02/02/11 23:44 ID:??? AAS
>325
そう思って
[\D\s\t]とかもやってみたんですが・・・ダメ
328: 名無しさん@お腹いっぱい。 02/02/11 23:48 ID:??? AAS
適当なファイルに書き出して見てみたら?
CGI::Carpとかでハンドルしてるなら warnや dieで見てもいいけど。
329: 名無しさん@お腹いっぱい。 02/02/11 23:52 ID:pHWWFybw(1) AAS
もうめんどくせえから、全部最初からやり直せ!!
330(1): 297 02/02/11 23:52 ID:??? AAS
そうか、上手く逝ったか。漏れこのスレ、検証してないやつばっか(297とか^^;)
書いてるから、ちょっと心配してるんだな。
> で変数が$_に入ってるってのがすっかり頭から飛んでました・・
慣れると便利なんだよ、デフォルト変数$_。
はまると怖いけどね。
で、正規表現検索は相手が文字列でも
if ($price =~ /\D/)・・・
だよ。
331: 無謀者 02/02/11 23:52 ID:??? AAS
えっと、上記の処理より前に
if ($price eq ""){
print"error"
}
・
・
#その他変数の未記入チェック
・
・
ってやってから上の処理やってるんですけど、その辺は関係あります?
省2
332(1): 無謀者 02/02/11 23:59 ID:??? AAS
うわ、
if ($price =~ /\D/){
print "$price";
}
ってやったら、入力したのと違う数字が出てきた・・・・・
この数字どっから来たんだろ???
198000って入力したのに429467294って・・・たかどんな数字入れても
おんなじ数字が吐き出されてる????何でだ?
ちなみに置換処理を無くして実行すると、ファイルにはちゃんと入力した
数字が書き込まれてます。
333: 297 02/02/12 00:02 ID:??? AAS
>>330
うわ、とっくに話題が過ぎ去ってやがる。リフレ忘れた。鬱打
&jcode::tr(\$price, '0-9', '0-9'); #全角数字を半角に変換
if ($price !~ /0-9/){
print "価格はカンマ無しの半角数字で入力してください";
}
あたりではどうかな?
334: 名無しさん@お腹いっぱい。 02/02/12 00:06 ID:r54lTbCX(1/2) AAS
>>332
という事は、その処理以前にどこかで$priceに値が代入されてるんだよ。
探しなさい。
335(1): 無謀者 02/02/12 00:07 ID:??? AAS
え〜〜〜〜
解決したっぽいです・・・
どうやら、使ってるエディタにバグがあるらしく、上書き保存するとなぜか
s-jisで保存されてたっぽい、のが原因みたいです。(設定はEUCにしてるのですが)
お騒がせして本当に申し訳ありませんでした・・・・m(__)m
エディタ変えようかな・・・・・
336: 名無しさん@お腹いっぱい。 02/02/12 00:09 ID:r54lTbCX(2/2) AAS
>>335
俺はいまだにメモ帳使ってるぞ。メモ帳最強。
337: 無謀者 02/02/12 00:12 ID:??? AAS
あと、
>&jcode::tr(\$price, '0-9', '0-9'); #全角数字を半角に変換
jcodeでこんな事も出来るんですね。フォームデータ受け取り時に
h2zでカタカナは全部置換させてるんですが、そこで数値にしなければならない
変数も全部変換掛けといた方がよさそうですね。
とりあえずご迷惑したお詫びに町内10周走ってきます。
上下前次1-新書関写板覧索設栞歴
あと 180 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.008s