- ベストアンサー
JavaScriptのreplaceメソッドを使用してURLを置換する方法
- JavaScriptのreplaceメソッドを使用してURLを置換する方法を教えてください。
- リンク先URLの一部を任意の文字列に置換したい場合、どのようなコードを書けばよいでしょうか?
- 初心者ですが、動的な数字部分も取得して置換する方法を教えていただけますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<script> var str="http://www.xxxxx.com/a=123456/b=12345678"; var reg=new RegExp("a=(.*?)/b=(.*)"); var replacement="$2/$1"; str=str.replace(reg,replacement); alert(str); </script>
その他の回答 (1)
- fujillin
- ベストアンサー率61% (1594/2576)
#1様の回答でいけるはずと思いますが? >こちらの意図するものとは違いましたが、大変参考になるものでした。 どこが意図と違って、どこが参考になったのか書かないと、誰にもわからないですよ。 ご質問文の回答として、もっともなものになっているように見えます。 >ページのリンク先をクリックすると >そのまま >ttp://www.xxxxx.com/数字B/数字A >に飛ぶように出来れば助かります。 コピペすればよいだけのおまじないのコードが欲しいってことでしょうか? ひょっとして、こんなの? window.onload = function(){ var i, e, elm = document.getElementsByTagName("a"); for(i=0; e=elm[i++];) e.href = e.href.replace(/a=(\d+)\/b=(\d+)$/, "$2/$1"); }
お礼
回答ありがとうございます。 ご指摘頂き、ありがとうございました。 仰るとおり、#1さんの回答でURLを置換できました。ですのでそこでこの質問を終了させれば良かったのですが、それを次にどう処理するのかというところも理解出来ていないため、補足してしまった次第です。 ご教示頂いたものを参考に#1さんのものと組み合わせてうまく出来ました。ただ質問の回答ということで#1さんをベストアンサーとさせて頂きます。稚拙な質問、文章で申し訳ありません。
お礼
お礼が遅れて恐縮です。 使い方に慣れておらず、補足にお礼をしていたようで、改めて回答ありがとうございました。 #2さんの回答、ご指摘を受けて、そもそも質問自体がおかしいことに気づきました。#2さんの仰るようにURLの置換はご回答頂いたもので出来ました。ありがとうございました。
補足
迅速な御回答ありがとうございます。 ご教示頂いたものは、私の質問が不完全なため、こちらの意図するものとは違いましたが、大変参考になるものでした。 これを元に色々と試したのですが、うまくいきませんでした。 var str="http://www.xxxxx.com/a= /b= " このa=とb=の後ろの数字がそのつど変わるため、変数「str」が定義出来ない状態です。決めうちだとほぼ期待している動きは出来るのですが、応用がうまくいきません。 ページに表示されている、リンクを取得 http://www.xxxxx.com/a=数字A /b=数字B ↓ そのリンクURLを下記のように置換 http://www.xxxxx.com/数字B/数字A ページのリンク先をクリックすると そのまま http://www.xxxxx.com/数字B/数字A に飛ぶように出来れば助かります。 細く長くなり恐縮ですが、 よろしくお願いいたします。