• 締切済み

jsで特定の位置から文字列を取得したい

例えば、 ----------------------------- var hoge = 'name=Hanako&age=20&day=20'; ----------------------------- という文字列があったとして、 「age=」という文字列があった場合のみ、 「age=」の後ろ2文字をアラートで表示させたいのですが どのように組めば良いのでしょうか…。 ↓途中ですが、こんな感じで組んでいました。 ----------------------------- var kensaku = hoge.search(/age=/); if (kensaku !== -1) { var str2 = hoge.substring(10,5,kensaku.length); } ----------------------------- 初心者で恐縮ですが、ご教示の程よろしくお願い致します。

  • alcxp
  • お礼率18% (3/16)

みんなの回答

  • think49
  • ベストアンサー率59% (285/482)
回答No.2

GETパラメータ展開なら以前作りました。 https://gist.github.com/think49/605899/ <script> 'use strict'; var uri = new URIParameter('http://example.com/?name=Hanako&age=20&day=20'), parameters = uri.parameters; if ('age' in parameters) { alert(parameters['age']); // 20 } </script> # Re: alcxpさん

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

getパラメータをjavascriptで取得する方法をご自分で考えられるのも大事なトレーニングですが、 すでに他の人が考えた物がある場合は探したほうが早いです。 ただし、間違っていることもありますので多くの人に使われてる信頼性のあるものを使うのが吉。 http://qiita.com/Evolutor_web/items/c9b940f752883676b35d

関連するQ&A

  • javascriptで文字列の差分を取得

    var str1 = "abc"; var str2 = "abdec"; var str3 = "abcdef"; var str4 = "defgabc"; 元々の文字列文字数固定ではない(例として)「abc」がありまして、 その最初か最後か途中の文字列の間に何かしらの文字列が入る可能性があります。 そのように追加された文字列を割り出したいのですが、 どのようにしたら良いでしょうか?アイディアお持ちでしたらよろしくお願いします。

  • マクロ(VBA)での文字列操作

    こういうことできますか? Dim str as String str = Cells(1, 10) Length = Find("会計", str) つまり、エクセル上のセル内の文字列を取ってきて、 会計という文字列を含む場所が何文字目か知りたい。 ところが、Find関数か認識されずエラーが出ます。 Searchにしても同じです。 エクセル関数としては使えるのですが、マクロでは使えないのですか?

  • Javascriptで文字列操作

    こんにちは。 strの右から2文字を取り出したいのですがうまくいきません。 どこが間違ってますでしょうか? strの文字列の長さはそのときによって違います。 function test(){ str="12345" alert(str = str.substr(-0,2)); }

  • Androidプログラミング 文字列の切り取り

    こんにちは。 eclipseを使用してAndroidアプリを作成しているものです。 今回、文字列の切り取りに挑戦しようと思っているのですが、 調べても、 String str = "123456789"; System.out.println(String.format("取り出し前の文字列 : %s", str)); System.out.println("文字列の3文字目から7文字目を取り出す -> " + str.substring(2,7)); System.out.println("文字列の2文字目から2文字目を取り出す -> " + str.substring(1,2)); System.out.println("文字列の3文字目から3文字分を取り出す -> " + str.substring(2,2+3)); といったものしか出てきません。 eclipseではSystem.out.printは使えませんよね? 実行してももちろんなにも表示されません。 私の調べ方が悪いのかもしれませんが、、、 (「Android 文字列 切り取り」といったようにAndroidというワードは入れています。) 如何せん、プログラミング初心者なこともありまして、 これ以上手の施し方がわからない状態です。 Androidプログラミングに詳しい方、優しい方、 参考になるURLやサンプルコードを載せてくださると 助かります。 よろしくお願いいたします。

  • javasccriptの文字列の連結について

    javasccriptの文字列の連結について charAt()というメソッドを用いて、 以下のサンプル <html> <head> <title>for sample</title> </head> <body> <script type="text/javascript"> <!-- str ="javascript" var ch1=str.charAt(0); alert("[" + ch1 +"]") //--> </script> </body> <html> を実行した際に アラートで[j]と返ってくるのですが、 (1)alert("[" + ch1 +"]")の部分を (2)alert("[ + ch1 +]") とした場合は[+ ch1 +]が返ってきます。 また、 (2)alert(["+ ch1 +"]) とした場合には+ ch1 +が返ってきます。 javascriptの中でダブルクォーテーションで 囲われた部分は文字列になると認識しているのですが、 なぜ、 (1)alert("[" + ch1 +"]")の場合は アラートで[j]と返ってくるのでしょうか? ダブルクォーテーションを二回使用しているので そもそもエラーになりそうな気がするのですが・・。 もしよろしければ、ご指導お願い致します。

  • ostringstreamからCの文字列を得る方法

    ostringstreamからCの文字列を得る方法について質問です。 ostringstreamのstr()メソッドを使えば、string型が得られると思うのですが、 以下の様にすると期待する様な結果が得られません。 ostringstream hoge; hoge << "HOGE" << "FUGA"; const char* p; p = hoge.str().c_str(); // NG str()メソッドで取得した結果を一旦string型に入れると期待する文字列を得る事が出来ます。 string tmp = hoge.str(); p = tmp.c_str(); // OK なぜp = hoge.str().c_str();では期待する結果("HOGEFUGA")を得る事が出来ないのでしょうか? コンパイラはVC++ 2010 Express Editionです。 よろしくお願いします。

  • 文字列比較

    最長10文字の文字列を2件入力し、char型の配列にそれぞれ格納する。2つの文字列を比較し、文字列が同じだったら「equal」を表示し異なっていたら「Not equal」を表示するプログラムを作成せよという課題が出ました。 条件として、11文字以上の文字が入力されたら、先頭から10文字までを有効とし、11文字目以降を無視する。下記のプログラムで文字列1に11文字以上入力すると、うまく動きません。なぜ、うまくいかないかと、どうなおしたらよいかを教えてください。 #include<stdio.h> #include<string.h> #define max_length 10 void get_string (char *p_str, int size); int main() { char string1[max_length+2]; char string2[max_length+2]; printf("文字列1:"); get_string(string1,max_length+2); printf("文字列2:"); get_string(string2,max_length+2); if(!strncmp(string1,string2,max_length)) puts("equal"); else puts("Not equal"); } void get_string (char *p_str, int size) { fgets(p_str,size,stdin); }

  • javascriptでの文字列操作

    こんにちは。 javascriptでの文字列操作で躓いてしまったのでご教授ください。 例えば、 var str = "00000"; という文字列があったとして、これの2文字目を”1”に変更したいといった場合、javascriptではどのように操作するのが簡単でしょうか。 phpですと、 $str = "00000"; $str[1] = "1"; といった記述で操作できた記憶があるのですが、調べてみても同様の操作が見当たらず・・・。 文字列を分割して+で足すような感じの処理か、配列にして繰り返し処理といった感じになってしまうのでしょうか。 宜しくお願い申し上げます。

  • 文字列関数をうまく表示させたい

    今、文字列関数をしています。参考書通りにしたのですが、ブラウザでは思い通りに表示されません。 <?php $str = "PHPの絵本"; $length = strlen($str); ?> を表示させたいのですが、 <?php $str = "PHPの絵本"; $length = strlen($str); print $length; ?> で良いのではと思って、ブラウザで表示させたのですが、参考書では 「9」が表示されるみたいなのですが、「12」が表示されます。 さらに <?php $str = "PHPの絵本"; $length = mb_strlen($str); ?> も表記させたいのですが、同様に <?php $str = "PHPの絵本"; $length = mb_strlen($str); print $length; ?> と書きこんだのですが、参考書では「6」が出るみたいのなのですが 自分のブラウザでは「12」が表示されます。どうしてなのでしょうか?

    • 締切済み
    • PHP
  • 文字列について(続き)

    文字列について、あれから私がベストアンサーに選んだ回答を元に下記のプログラムを作成したのですが私が作成したプログラムで出た結果が下記のようになります。実行例のような結果を出すにはどのようにすればいいのですか?Java初心者なのでお願いします。 作成したプログラムで出た結果 文字列を入力 My name is Taro Sandai. 整数を入力 10 My name is.iadnaS oraT 実行例 文字列を入力 My name is Taro Sandai. 整数を入力 10 My name isdnaS oraT ai. import java.io.*; class K2 { public static void main(String args[]) throws IOException { System.out.println("文字列を入力"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); System.out.println("整数を入力"); String str2 = br.readLine(); int num = Integer.parseInt(str2); String str3 = str1.substring(0,num); String str4 = str1.substring(num); StringBuffer str5 = new StringBuffer(str4); str5.reverse(); System.out.println(str3+str5); } }

    • ベストアンサー
    • Java