電子書籍の厳選無料作品が豊富!

お世話になります。

フリー配布のCGI(Perl)をちょっと改造しているのですが
カンマを禁止したり別の文字に置き換えたりって
方法ありますか?

コンマで区切っているタイプのCGIなので、
訪問者さんが本文中にコンマを入力して
データがズレまくってしまいます;

禁止ワードにすればいいのかと思って

if($in{"name"} ~ /,/ ){ &error('コンマの使用は禁止されています'); }

と、入れてみたらエラーになってしまいました;

何か方法ありませんか?
よろしくお願いします。

A 回答 (3件)

すみません。

No.2で、半角で記述したので、両方とも,で表現されてますね。

$in{"name"} =~ s/,/,/g;

実際には「,」は、全て半角で記述して下さい。
    • good
    • 0

JavaScriptの処理だけではなく(無効のブラウザでは意味が無いので)、CGIスクリプト側でも対処した方が良いです。


実態参照に変換してみては。

$in{"name"} =~ s/,/,/g;

これ以外にも、ログに書き込まれる、入力フォームのvalue値全てを変換処理した方が良いでしょう。
    • good
    • 0

>コンマで区切っているタイプのCGIなので、


本来CSV形式の場合、文字列中に「,」を使うなら「"」でくくるのが本来の使い方何ですけどね。
それをしてないとなるとソースを自分でいじれるならそれに準じたように書き直すかですね。

手っ取り早いのはhtml側の入力フォームでJavaScriptで入力チェックで「,」を使えないようにするですね。
そうすればPerl側ではとりあえずは処理しなくてもいい(厳密な処理をしたいならPerl側でも必要ですが)
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます!
あっ…なるほど!確かにJavaScriptだけでも出来ますね(´△`;)ゞ
目からウロコでした!早速やってみます。
助かりました!(^^)

お礼日時:2011/12/18 02:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!