プロが教える店舗&オフィスのセキュリティ対策術

変数 url に以下のような文字列が代入されています。
var url='http://www.example.com?id=2&page=3';

ここから?以降の文字列だけを取得したいのですが、どのようにすれば良いのでしょうか?
「id=2&page=3」←このような結果が欲しいです。

ブラウザのurlから直接?以降を取得するには location.search を使えば良いというのは調べてわかりましたが、変数に文字列としてurlが代入された場合の方法がわかりません。

ご回答よろしくお願いいたします。

A 回答 (1件)

文字列から抽出するのであれば、indexOfを使うか正規表現かでしょうね


深く考えなければ前者、複雑なデータを取りたいなら後者でしょうか

<script>
var url='http://www.example.com?id=2&page=3';
if(url.indexOf("?")>=0){
var str1=url.substring(url.indexOf("?")+1,url.length);
}
document.write(str1+"<br>");

var reg=new RegExp("\\?(.+?)$");
if(url.match(reg)){
var str2=url.match(reg)[1];
}
document.write(str2);
</script>
    • good
    • 2
この回答へのお礼

yambejp様

回答ありがとうございます。
求めていた結果を得ることができました。
正規表現だけでなく、indexOfという抽出方法があるんですね。
勉強になりました。

お礼日時:2015/08/17 19:17

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