• ベストアンサー

入力フォーム内のタグ開始記号(<>)の置き換えについて

noname#1785の回答

noname#1785
noname#1785
回答No.1

置き換えに関しては、下記のようにすればできます。 function replaceValue(){  ver strValue=document.***.***.value;  ↑ここは、入力された値が入るように変えてください。  res1=strValue.indexOf("<",0); //文字列中から<を検索  res2=strValue.indexOf(">",0); //文字列中から>を検索  if(res1 != -1){ //該当がなければ-1が返るので   strMsg=strValue.replace("<","&lt;"); //<を<に置き換え  }  if(res2 != -1){ //該当がなければ-1が返るので   strMsg=strValue.replace(">","&gt;"); //<を<に置き換え  } } # サンプル中の"&lt;"と"&gt;"は大文字で書かれていますが、実際は小文字です。 後は、この関数をどう呼ぶかを考えてみてください。 例えば、全部入力が終わった後にボタンを押して、ならそのボタンのonClickに設定すればいいし、入力後であれば、その入力フォームのonBlurまたはonChangeに設定すればOKです。 (ただし、onBlurまたはonChangeに関しては、ブラウザによって動作が異なる可能性があります)

Rammy
質問者

お礼

ご回答ありがとうございます! とても詳しく解説してくださり、本当にありがとうございました。 おかげで、非常に参考になりました。 今後とも精進していこうと思います。 本当にありがとうございました!

関連するQ&A

  • <  タグの事で・・・

    <Font Color="#ff0000">などと色を変えるタグがありますよね? それの<や>の部分の事で・・・ <=<、&lt  >=>、&gt などとあるんですが、それが無効なので、他の方法は無いでしょうか? よろしければ教えてください。 お願いします。 (ちなみにそのオンラインゲームはタグ禁止ではありません)

  • ▲▲HTMLで特殊記号を入力する際にへんになる??▲▲

    こんばんは☆ HTMLで特殊記号を表示させる場合、例えば☆ < →&lt; 又は < > →&gt; 又は > とあるのはわかっているのですが、もしこのようなタグの中に組み込む場合どのように記入すればよいでしょうか?? -----例----- &title02=<font color="#000000">基本タグ</font>& &data02=例HTML& ------------ ↑これはフラッシュを設定するtxtに書かれているものです。すでに&が入っているためか・・・。 ↓のように入力すると -----例----- &title02=<font color="#000000">基本タグ</font>& &data02=例&lt;HTML&gt;& ------------ 基本タグ 例 ------------ ↑このように表示されてしまいます・・・。 本当は↓ ------------ 基本タグ 例<HTML> ------------ ↑このように表示させたいのです。。。。 わかる方、教えてください♪ よろしくお願いします♪

    • ベストアンサー
    • HTML
  • 管理画面の入力フォームをhtml編集可能にする場合

    PHP+MySQLを使っています。 管理画面から入力した商品情報のデータをDBに保存し、DBから情報を取得してホームページに反映させたいと思っています。 その管理画面の入力フォームで、商品詳細を記述する入力ボックスをhtml編集できるようにする場合(タグをつけて記述できるようにする場合)、クロスサイトスクリプティングやSQLインジェクションなどの攻撃の対策としてどういった手法がありますか。 html編集できない入力ボックスを作るときは、私は、タグを取り除くなどの処理をしてDBに保存しています。タグをつけたままDBへ保存するというのはセキュリティとしてはよくないのではと思う部分があり、みなさんはどうされているのかと思い、質問させていただきました。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 受信したメールがタグのまま表示されてしまいます・・・

    メールフォームを作成してみたのですが、 あるメールを受信した際に、 (スペース)&lt;br&gt; と、改行タグ<br>がタグのまま表示 されてしまっています。 考えられる原因等はありますでしょうか。 ご教授頂けましたら幸いです。 以上、よろしくお願いします。

  • 「<」や「>」を「&lt;」や「&gt;」に変換させなかったらどうなるのでしょうか?

    今CGIをカスタマイズしています。 書き込みフォームでタグを使いたいのですが、タグをそのまま書き込むとHTML出力時に、&lt;や&gt;に変換されて表示されてしまいます。 なのでその変換する処理を無くしたいと思っているのですが、その処理を無くすとどういう不具合があるのでしょうか?無くそうと思っているのは下記のような箇所です。 ~ s/</&lt;/g; ~ s/>/&gt;/g; (わざと全角で書いてます) 書き込みデータにはdatファイルを使っています。

    • ベストアンサー
    • CGI
  • クエリの抽出条件をフォームで入力したものにしたい

    こんにちは。すみませんうまくいかないのでどなたか助言していただきたくお願いいたします。 クエリの抽出条件をフォームで入力した値にしたいと思っており、クエリの抽出条件欄に >=[集計フォーム]![開始日入力] と入力しました。「フォームの名前」!「テキスト名」です。 そしてフォームに値を入力してクエリ実行ボタンをクリックするとパラメータクエリのようになってしまいます。 フォーム内で何か設定をしないといけないのでしょうか? すみませんがよろしくお願いいたします。

  • 入力フォーム作成について

    質問させていただきます。 ホームページビルダーで入力フォームを作成したのですが、入力フォーム記入欄に半角スペースが入ると、送られてくるメールに改行が入ってしまいます。このスペースや改行を抜くにはどのようにすればよろしいのでしょうか? ご教授御願い致します。

  • 正規表現でHTMLタグの属性まで選んで抽出

    現在、掲示板をPHPで作っています。 入力された文字列の無効化と許可タグの分別に正規表現を使いたいと考えております。 そこで、現状では、まずすべての < > を特殊文字に変換し、その後に、許可タグ(属性)のタグを < > にもどそうとしています。 たとえば、fontタグならcolorとsizeを許可しようとして、次のような正規表現を作ってみましたが、うまくいきません。 /&lt;font((( )*(color=)[\"\']?.{1,7}[\"\']?)|(( )*(size=)[\"\']?.{1,2}[\"\']?))*&gt;/i 正規表現はまだ勉強し始めたところで、おかしなところだらけだと思いますが、何かヒントだけでもいただけたらと思います。 どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • フォームの太字を置き換える

    更新記録CGIみたいなものを改造しようとしています。 文章の一部に太字を入れたいと思っています。 入力・修正画面ではフォーム内で<B></B>と出れば良いですが、表示部分でそのまま出ると駄目ですよね。 そこで置き換えようと思ったのですが、うまく出来ません。 $com1 = ~ s/&lt;B&gt;/<B>/g; $com1 = ~ s/&lt;/B&gt;/</B>/g; とすると、$com1の内容が表示されなくなります。(他の部分は正常に表示している) 両方をコメントアウトすると、「&lt;B&gt;」と表示されます。 こういう場合、どのようにしたら良いのでしょうか?

    • ベストアンサー
    • Perl
  • HTML上での入力フォームについて

    HTML上での入力フォームについて質問です input で入力する欄が100個以上あるのですが、どこを入力し終わったのかわからない状態で困っています。 input で入力した際に、入力したりしたら背景色をかえてユーザーに 「ああ、これは入力済みなんだな。」 とわかってもらえるようにするには、どうしたら良いでしょうか?

    • ベストアンサー
    • HTML