-1

このリンクを貼れば

http://www.google.co.in/search?nomo=1&q=Quantum+physics+india&client=ms-opera-mini&channel=new&hl=en&

textareaとsubmitで、次のように、ページの読み込み後に別のtextareaにクリーンなリンクが表示されるはずです。

http://www.google.com/search?q=Quantum+physics+india

このためのJavaScriptはどうなりますか?

4

4 に答える 4

3

を使用するindexOf()substr()、パラメータを抽出q=して新しいリンクに追加できます。q=これにより、 (存在する場合)の後に追加のパラメーターも削除されます。

デモ

function convertLink(input)
{
    var newLink = "http://www.google.com/search?";

    var temp =  input.substr(input.indexOf('q='));
    var ampPos = temp.indexOf('&');

    if(ampPos > -1)
    {
        temp = temp.substr(0, ampPos);
    }

    return newLink + temp;
}
于 2012-12-11T07:41:06.700 に答える
0

正規表現の一致を使用してみてください。q = /([A-Za-z] \ +?) /のようなもの

これで必要な部分が抽出され、base-urlに追加できます。

コーディングの仕方については、やってみるのが一番いいと思いますが、ここから始めてもいいかもしれません

于 2012-12-11T07:44:14.667 に答える
0

「nomo=1&q = Quantum + physics + india&client = ms-opera-mini&channel = new&hl = en&」パターンが修正された場合例:(nomo =&q =&client =&channel =)

次のスクリプトを使用して回答を得ることができます

var uri   = 'http://www.google.co.in/search?nomo=1&q=Quantum+physics+india&client=ms-opera-mini&channel=new&hl=en&';
var myarr = uri.split("?");

var url   = myarr[0];
//alert(myarr[0]);
var myarr2 = myarr[1].split("&");
//alert(myarr2[1]);

alert(url+'?'+myarr2[1]);
于 2012-12-11T08:29:22.090 に答える
-1

URLを解析するためのジェネリック関数は次のとおりです。

function parseQueryString(url) { 
  var e, 
      d = function (s) { 
        return decodeURIComponent(s.replace(/\+/g, " ")); 
      }, 
      r = /([^&=]+)=?([^&]*)/g,
      queryObject = {};

  while (e = r.exec("url=" + url)) 
  queryObject[d(e[1])] = d(e[2]);

  console.dir(queryObject); 
  return queryObject;
}

URLを呼び出す場合:parseQueryString( "http://www.google.co.in/search?nomo=1&q=Quantum+physics+india&client=ms-opera-mini&channel=new&hl=en&");

あなたが得る:オブジェクト

チャネル: "new"
lient: "ms-opera-mini"
hl: "en"
q: "Quantum physics india"
url: "http://www.google.co.in/search?nomo=1"

于 2012-12-11T07:49:31.897 に答える