• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptの複数マッチで質問です。)

JavaScriptの複数マッチで困っています

このQ&Aのポイント
  • JavaScriptを使って入力された文章を配列に格納し、条件にあったものを全て表示するプログラムを作成しています。
  • 特に複数マッチの部分で困っており、for文の中に複数マッチに相当する処理を追加しましたが、うまく動作しません。
  • 複数マッチの部分をどのように記述すればよいかわからず、ご助言いただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

日付を拾いたいっていうことでしょうか? いずれにしろ、入力行は必ずしも分割する必要はないと思います。 とりあえず 数字(2個以下)/数字(2個以下) みたいなのを拾い出す例 正しい日付かどうかのチェックは行っていません。 (一発で出来るかもしれませんが、正規表現が苦手なので2回に分けてます) function tester(){  var i, s, str = document.getElementById('input_text').value;  str = str.match(/(^|\D)\d{1,2}\/\d{1,2}(\D|$)/gm);  if(str) for(i=0; s=str[i]; i++) str[i] = s.match(/\d{1,2}\/\d{1,2}/);  alert(str? str.join(" "): "no Mathch"); }

105atu
質問者

お礼

すみません! 動きました! 回答ありがとうございました。

105atu
質問者

補足

回答ありがとうございます! 実際に導入してみたのですが、var iの行でUncaught SyntaxError: Unexpected token ILLEGALが出てしまいまだうまく動作していないのが状況です...

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • javascriptの配列の検索について

    テキストエリアに入力された文章を、改行ごとで配列に格納 その後、特定の文字を検索し、特定の文字がある配列を見つけて 見つかったものに処理をかけたいです 現在、配列に格納するところまでできているのですが、その後の文字を検索するところで躓いてます。 配列をmatchで検索すると一番最初の配列にのみ処理をかけてしまっているのが現状です。 どなたかお知恵を貸していただけないでしょうか よろしくお願いします。 例 入力された文字列:                明日の時刻のお知らせ                開始時間:10時30分                受付開始は10時00分からとなっております。                遅れないようにお願いいたします。 検索する文字:  時間     ↓ 検索ワードを含む配列:開始時間:10:30     ↓これに処理かけて 出力:10:30 検索ワードが見つからない場合 出力:10:00 10:30 という形にしたいです。 プログラムは下記のように組みました。 //////////////////////////// <html> <head> <script language="JavaScript"> function tester(){ var str= document.getElementById('input_text').value; var time; var alltime; abc = str.split(/\r\n|\r|\n/); var g = ["開始時間"]; for (var i=0;i<abc.length;i++){ if(abc[i].match(g)){ time = abc[i].match(/\d{1,2}:\d{1,2}/g); if(time2 !=null){ alert(time); document.write(time); break; } }else{ alltime = str.match(/\d{1,2}:\d{1,2}/g); if(alltime !=null){ document.write(alltime); } }break; } } </script> </head> <body> <textarea id=input_text rows="10" cols="45"> </textarea><br> <input type=button onclick="tester()" value="start"> </body> </html>

  • JavaScriptとPHPの配列

    現在、JavaScriptで配列を持っています。 str=[20,38,24,18,23,26,-,20,38.4,18,23,-,2009,01,09,15,13,24,] この配列を順序を変えずにPHP配列としてもつことは可能でしょうか? $arr(20,38,24,18,23,26,-,20,38.4,18,23,-,2009,01,09,15,13,24); 後々、この配列を用いてtextboxに値を格納したいので、 <input type="text" name="ta0"size ="2" value="<?php echo $arr[2]; ?>">s で、利用したいです。 document.write()で書く方法もあると思いますが valueに値として入れることができませんでした。 方法をご存知の方、よろしくご教授お願いいたします。

  • NEW ARRAY!!

    配列にデータを格納しようとしているのですが、 うまくいきません。アドバイスをお願いいたします。 -------------- <?php <省略> $number = 100; <省略> ?> <script language="javascript"> <!-- Begin arr = new Array(10); for(i=0;i<10;i++){ arr[i] = <?=$number?> - 1; } // End --> --------------------------- 配列arrにデータ('100','99','98', ・・・, '91')と 格納したいのですが、うまくいきません。 宜しくお願いいたします。

  • JavaScriptでの文字の流れる掲示板について

    ホームページのJavaScriptで、「文字が流れる掲示板」のソースを下記に書きましたが、文字の色やFormの背景色などは、どのように変更したらよいでしょうか、分かりましたら教えてください。よろしくお願いします。 <FORM NAME="time"><INPUT TYPE="text" NAME="str" SIZE="100" ></FORM> <SCRIPT LANGUAGE="JavaScript"> <!--  str = "helloword !!"; str = " " + str; i = 0; function tick() { document.forms['time'].elements['str'].value = str.substring(i, str.length) + str.substring(0, i); i = ++i % str.length; setTimeout("tick()", 120); } tick(); // --> </SCRIPT>

  • javascript + php でエラー

    エラーを取り除くことができず、困っています。 助けてください。 下記のようなコードで、PHPからjavascriptに文字列を渡しているのですが、 文字列に改行コードがあるとエラーになってしまいます。 (改行コードがない場合はエラーはでません) 文字コードはEUC-JP、改行はLFとしています。 エラーの原因と、対策を教えてください。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- function sampl(str) { alert(str); } //--> </script> </head> <body> <form method="post" action="#"> <?php $str = "テスト\n改行あり"; ?> <input type="button" value="実行" onClick="sampl('<?=$str?>')"> </form> </body> </html>

  • 複数のJavaScriptについて

    ほんとに初歩的な質問ですけど、 複数の種類の JavaScriptを1つのhtmlに記述するとき、 <HEAD>~</HEAD>の中に<SCRIPT LANGUAGE="JavaScript">~……を 複数書いても大丈夫なのでしょうか? たいていの参考書が、1つの種類の JavaScriptの例文しか載せていないので 分かりません。 どなたか教えて下さい!

  • Javascriptで複数のフォームを連結したい

    初めまして、 お世話になります。 Javascriptで複数のフォームを連結したいと考えています。 やっと2つのテキストエリアを連結させるところまで出来るようになりました。 やりたいことは、出力させるときに下記のようにしたいのですが、 どのようにすれば良いかご教授いただけば幸いです。 テキストエリア:text01とtext02を連結させて出力させる時に、 text01とtext02の間に”改行コード”を追加したいのです。 それとラジオボタンで選択をした値を取得するための、 スクリプの記述方法もご教授頂けないでしょうか? また、可能であればテキストエリア:outputに出力するときうに、 下記のように出来ると希望通りの操作が出来助かります。 HTMLを勉強し始めたばかりの初心者ですが、 どうぞ何卒よろしくお願い申し上げます。 出力結果: ----------------------------------------------------------------------- 【入力欄1】改行コード text01 改行コード 【入力欄2】改行コード text02 改行コード 【ラジオボタン】 A01 改行コード ソース: ----------------------------------------------------------------------- <html> <head> <script language="JavaScript"> <!-- function textoutput() { var text01 = (document. form01. text01.value); var text02 = (document. form01. text02.value); document. form01. output.value = text01 + text02; } //--> </script> </head> <body> <form name="form01"> <!--入力欄1// --> 入力欄1<br> <textarea name="text01" cols="60" rows="10"></textarea><br> <!--入力欄2// --> 入力欄2<br> <textarea name="text02" cols="60" rows="10"></textarea><br> <!--ラジオボタン// --> <strong>・ OS確認</strong><br /> <input type="radio" name="A01" value="・OS ⇒ XP" id="radio1-1" > <label for="radio1-1">XP</label> <input type="radio" name="A01" value="・OS ⇒ Vista" id="radio1-2"> <label for="radio1-2">Vista</label> <input type="radio" name="A01" value="・OS ⇒ Win7" id="radio1-3"> <label for="radio1-3">Win7</label> <input type="radio" name="A01" value="・OS ⇒ Mac" id="radio1-4"> <label for="radio1-4">Mac</label> <input type="radio" name="A01" value="・OS ⇒ " id="radio1-5"> <label for="radio1-5">その他</label> <br /> <!--ログ出力// --> ログ出力<br> <input type="button" value="ログ出力" onClick="textoutput();"><br> <textarea name="output" cols="60" rows="10"></textarea><br> </form> </body> </html>

  • JAVASCRIPTでINPUT

    HTMLとJAVASCRIPTとJSPを使ってシステム構築をしております。 --------------- <html> <head> <SCRIPT Language="JavaScript"> <!-- function send() { alert("<input type=text name=name2>"); } // --> </SCRIPT> </head> <body> <form onSubmit="send(); return false;"> <input type=text name=name1> <input type=submit> </form> </body> </html> --------------- 上記のコードでやりたいことは、 submitボタンが押されたときにJAVASCRIPTを呼び出し JAVASCRIPT上で文字を入力し次画面へ送信するような機能を作りたいと思っているのですが、本を見てもなかなか載っていません。 もしかしたらJAVASCRIPTだけではできないかもしれません。 JSPまたはPHPで出来る機能でも良いので教えてください。

  • このソースどういう意味ですか【JavaScript】

    <HTML> <HEAD> <TITLE>JavaScript Sample</TITLE> <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> </HEAD> <BODY> : <INPUT TYPE="button" VALUE="OK" onClick="~"> : </BODY> </HTML> このソースの中の <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> の部分ってどういう意味ですか? 特にTypeとHTTP-EQUIVの部分については個別で詳しく知りたいです。 回答よろしくお願いします。

  • PHPの文字列をJavascriptの変数にする

    PHPの変数に格納された文字列を、直接Javascriptの変数の一部として格納しようと考えています。 例:) <script> var txt = "<?php echo $text; ?>"; </script> しかし、$textにダブルクォーテーションなどの文字が含まれていると、スクリプト全体が破綻します。今のところ、PHPの中で、問題を起こしそうな文字列を変換するように処理しています。 例:) $text = str_replace("\\", "\\\\", $text); $text = str_replace("\"", "\\\"", $text); $text = str_replace("\n", "\\n", $text); これよりもスマートな方法(たとえば用意されている関数を使うなど)がありますでしょうか。

    • ベストアンサー
    • PHP