JavaScript | 記事 |
<HTML><HEAE> <TITLE>文字検索(indexOf)</TITLE> </HEAE> <BODY> <SCRIPT Language="JavaScript"> <!-- mozi="ABCDEFGHIJKLM"; shu1= mozi.indexOf("C",0); alert("shu1→ "+ shu1); shu2= mozi.indexOf("c",0); alert("shu2→ "+ shu2); shu3= mozi.lastIndexOf("C",13); alert("shu3→ "+ shu3); //--> </SCRIPT> </BODY> </HTML> |
【注意】 スクリプロの記述で大文字/小文字を区別する 例:indexOf → indexOfはOK、indexofはエラー ・indexOf は左から検索(本例の結果0からカウントで:2) ・lastIndexOf は右から検索(本例の結果:2) ・一致文字がない場合は-1を返す 6-1実行 |
JavaScript | 記事 |
<HTML><HEAE> <TITLE>文字検索(match)</TITLE> </HEAE> <BODY> <SCRIPT Language="JavaScript"> <!-- mozi="ABCDEFGHIJKLM"; sch1= mozi.match(/DEF/i); alert("sch1→ " + sch1 ); sch2= mozi.match(/def/i); alert("sch2→ " +sch2); sch3= mozi.match(/aaa/i); alert("sch3→ " +sch3); //--> </SCRIPT> </BODY> </HTML> |
sch1→DEF (DEF文字を検索し抽出) sch2→DEF (def文字を検索し抽出) sch3→null (aaa文字を検索し抽出、なしの場合nullを返す) ・マッチ方法 i → 大文字小文字区別しない g → グローバルマッチ 6-2実行 |
JavaScript | 記事 |
<HTML><HEAE> <TITLE>文字検索</TITLE> </HEAE> <BODY> <SCRIPT Language="JavaScript"> <!-- mozi="ABCDEFGHIJKLM"; sch1= mozi.search(/DEF/i); alert("sch1→ " + sch1 ); sch2= mozi.search(/def/i); alert("sch2→ " + sch2 ); sch3= mozi.search(/ccc/i); alert("sch3→ " + sch3 ); //--> </SCRIPT> </BODY> </HTML> |
sch1→3 (DEF文字を検索し文字位置を返す) sch2→3 (def文字を検索し文字位置を返す) sch3→-1 (ccc文字を検索、一致がない場合は-1を返す) ※ 返却の文字位置は0からのカウント 6-3実行 |
JavaScript | 記事 |
<HTML><HEAE> <TITLE>文字置換え</TITLE> </HEAE> <BODY> <SCRIPT Language="JavaScript"> <!-- mozi="ABCDEFGHIJKLM"; mozi2= new RegExp("DEF","i") sch1= mozi.search(mozi2); alert("sch1→ "+ sch1); mozi2= new RegExp("def","i") sch2= mozi.match(mozi2); alert("sch2→ "+sch2); mozi2= new RegExp("ccc","i") sch3= mozi.search(mozi2); alert("sch3→ "+sch3); //--> </SCRIPT> </BODY> </HTML> |
フォームから入力された文字を変数に入れ、その変数 内のデータを正規表現文字として検索する場合は、 RegExpで正規表現文字に変更しないと検索出来ません。 sch1→3 (DEF文字を検索し文字位置を返す) sch2→DEF (DEF文字を検索し抽出) sch3→-1(ccc文字を検索、一致がない場合-1) 6-4実行 |
JavaScript | 記事 |
<HTML><HEAE> <TITLE>文字置換え</TITLE> </HEAE> <BODY> <SCRIPT Language="JavaScript"> <!-- mozi="ABCDEFGHIJKLM"; sch1= mozi.replace(/DEF/i,"123"); alert(sch1); //--> </SCRIPT> </BODY> </HTML> |
文字を大文字小文字を無視して検索し置換える (結果は下図参照) 6-5実行 |
JavaScript | 記事 |
<HTML><HEAE> <TITLE>カンマの削除</TITLE> </HEAE> <BODY> <SCRIPT Language="JavaScript"> <!-- mozi="123,456"; alert(mozi); sa=String(mozi); saa=sa.replace(/,/,''); dats=eval(saa); alert(dats); //--> </SCRIPT> </BODY> </HTML> |
ソースは前項と殆ど同じですが、数字を比較するソフト を作っている時、取り込んだデータがカンマ付き数字で JavaScriptでは小数点と同じ扱いになっていたので 比較が出来なかったので削除した例。 6-6実行 |
JavaScript | 記事 |
<HTML><HEAE> <TITLE>文字の置換え(プログレスバー)</TITLE> <SCRIPT Language="JavaScript"> <!-- var cnt=0 var msg="実行中---□□□□□□□□□□"; function scrol() { setTimeout("scrol()",200); msg=msg.replace(/□/,"■") document.textForm.box.value=msg; cnt +=1 if (cnt >9 ){ msg="実行中---□□□□□□□□□□"; cnt =0 }} //--></SCRIPT> </HEAD> <BODY onLoad="scrol()"> <FORM NAME="textForm"> <INPUT NAME="box" TYPE="text" SIZE=40> </FORM> </BODY> </HTML> |
replaceで文字を置き換える場合、文字列の中で左から 検索して最初に合致した文字を置換えます。 したがって、左から1個ずつ変えるのでプログレスバーと して応用することができます。 6-7実行 |