- ベストアンサー
JavaScriptを使ってURLをコピーして別のURLに移動する方法
- この記事では、JavaScriptを使用してURLをコピーして別のURLに移動する方法について説明します。
- 質問者は、特定のURLから「n1234567890」という部分をコピーして、別のURLに移動するためのJavaScriptを作成したいという問題を抱えています。
- 質問者はOperaまたはFirefoxで動作するようなJavaScriptを求めており、回答として `clipboardData.setData('Text',location.href.replace(/^(.+):\/\/(www\.)?[^.]+([^\/]+)\/(?:.*\/)?(.+)$/,'$1://$2$4$3/$4.txt'));` というコードが提案されていますが、質問者は理解することができませんでした。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
正規表現の問題ですね。 最後のスラッシュより後の部分以外を除去 すると目的の文字列が得られそうですね。 つまり、「文字が連続しスラッシュで終わる」 部分を空文字で置き換えます。 「文字が連続しスラッシュで終わる」は「.+/」 となります。また、ここから数字列だけを取り 出すには「先頭に続く非数字」を除去します。 「先頭に続く非数字」は「^\D+」です。 正規表現の構文は以下を参照してください。 http://msdn.microsoft.com/ja-jp/library/ae5bf541(VS.80).aspx <!--移動用フォーム--> <FORM ID="F"></FORM> <SCRIPT LANGUAGE="JavaScript"> function conv(urltext) { //最後のスラッシュまでを除去する var t = urltext.replace(/.*\//,""); //上記から先頭に続く非数字を除去する var n = t.replace(/^\D+/,""); //移動用フォームにURLを仕込む var f = document.getElementById("F"); f.action = "http://www." + n + ".com/" + t + ".txt"; //Eventを作る var e = document.createEvent("Event"); //Eventを初期化する e.initEvent("submit",false,true); //Eventを発生させる f.dispatchEvent(e); } </SCRIPT> 指定URLを開く方法は他にもありますが、FireFox5.0で 動作確認してあります。OPERAは未確認です。 IEではエラーになります。
お礼
お礼が遅くなり申し訳ないです ありがとうございました^^