- ベストアンサー
コンマ(,)を入力を禁止させたい
お世話になります。 フリー配布のCGI(Perl)をちょっと改造しているのですが カンマを禁止したり別の文字に置き換えたりって 方法ありますか? コンマで区切っているタイプのCGIなので、 訪問者さんが本文中にコンマを入力して データがズレまくってしまいます; 禁止ワードにすればいいのかと思って if($in{"name"} ~ /,/ ){ &error('コンマの使用は禁止されています'); } と、入れてみたらエラーになってしまいました; 何か方法ありませんか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
すみません。No.2で、半角で記述したので、両方とも,で表現されてますね。 $in{"name"} =~ s/,/,/g; 実際には「,」は、全て半角で記述して下さい。
その他の回答 (2)
- ariman_
- ベストアンサー率45% (27/59)
回答No.2
JavaScriptの処理だけではなく(無効のブラウザでは意味が無いので)、CGIスクリプト側でも対処した方が良いです。 実態参照に変換してみては。 $in{"name"} =~ s/,/,/g; これ以外にも、ログに書き込まれる、入力フォームのvalue値全てを変換処理した方が良いでしょう。
- okbakasine
- ベストアンサー率27% (67/242)
回答No.1
>コンマで区切っているタイプのCGIなので、 本来CSV形式の場合、文字列中に「,」を使うなら「"」でくくるのが本来の使い方何ですけどね。 それをしてないとなるとソースを自分でいじれるならそれに準じたように書き直すかですね。 手っ取り早いのはhtml側の入力フォームでJavaScriptで入力チェックで「,」を使えないようにするですね。 そうすればPerl側ではとりあえずは処理しなくてもいい(厳密な処理をしたいならPerl側でも必要ですが)
お礼
ご返答ありがとうございます! あっ…なるほど!確かにJavaScriptだけでも出来ますね(´△`;)ゞ 目からウロコでした!早速やってみます。 助かりました!(^^)