prototype.jsリファレンス文字列(String)
- 文字列からscript要素をブロックごと除去〔stripScripts()〕
- 文字列を置換する
- 文字列の最初の1文字を大文字に変換〔capitalize()〕
- 次の文字を返す〔succ()〕
- JSON形式のデータか調べる〔isJSON()〕
- 文字列をエスケープ/アンエスケープ
- sub〔sub()〕
- 特定の文字列から始まるか調べる〔startsWith()〕
- unfilterJSON 〔unfilterJSON()〕
- 特定の文字列を含むか調べる〔include()〕
- 指定回数繰り返す〔times()〕
- 文字列が特定の文字列で終わっているか調べる〔endsWith()〕
- scan〔scan()〕
- interpolate〔interpolate()〕
- 引用符が含まれる文字列ノでバックバージョンを返す〔inspect()〕
- 文字列中に含まれるスクリプトコードを評価〔evalScripts()〕
- 文字列が空かどうか調べる〔empty()〕
- JSON形式のデータを文字列として評価(実行)する〔evalJSON()〕
- 文字列が空かホワイトスペースかどうか調べる〔blank()〕
- 文字列をラクダ文字に変換〔camelize()〕
- 文字列中のアンダーバーをハイフンに変換〔dasherize()〕
- 文字列の先頭と末尾のホワイトスペースを除去〔strip()〕
- truncate〔truncate()〕
- クエリー文字列を配列に変換〔toQueryParams()〕
- script要素の内容を取得〔extractScripts()〕
- 文字列をJSON形式に変換〔toJSON()〕
- 文字列を1文字ずつ分割して配列に格納〔toArray()〕
- 文字列からタグを除去〔stripTags()〕
- underscore 〔underscore()〕
文字列からscript要素をブロックごと除去
stripScripts()
unknown
<input id="def_stripscripts" style="width:90%;" readonly="readonly" /><br> ▼script要素ブロックを削除<br> <input id="res_stripscripts" style="width:90%;" readonly="readonly" /> <script type="text/javascript"> /* Firefoxでscript要素内にscript要素があるとエラーが発生するため、"</scr"+"ipt>"で回避 */ var str="<a href='#'>リンク</a><script type='text/javascript'>alert('Hello! Internet!');</sc"+"ript>"; $("def_stripscripts").value=str; /* script要素ブロック除去 */ $("res_stripscripts").value=str.stripScripts(); </script>
文字列を置換する
unknown
<input id="def_gsub" style="width:90%;" readonly="readonly" /><br> ▼数値を空文字列に置換<br> <input id="res_gsub" style="width:90%;" readonly="readonly" /> <script type="text/javascript"> var str="hoge123hoge456"; $("def_gsub").value=str; /* パターン */ var pattern="[0-9]"; /* 置換文字列 */ var replacement=""; /* 文字列を置換 */ $("res_gsub").value=str.gsub(pattern, replacement); </script>
文字列の最初の1文字を大文字に変換
capitalize()
unknown
文字列の最初の1文字を大文字に変換した文字列を返します。
サンプルを見る<input id="def_capitalize" style="width:90%;" readonly="readonly" /><br>
▼文字列の最初の1文字を大文字に変換<br>
<input id="res_capitalize" style="width:90%;" readonly="readonly" />
<script type="text/javascript">
var str="hello! interenet!";
$("def_capitalize").value=str;
/* 文字列の最初の1文字を大文字に変換 */
$("res_capitalize").value=str.capitalize();
</script>
次の文字を返す
succ()
unknown
<textarea id="res_succ" style="width:90%;"></textarea> <script type="text/javascript"> $("res_succ").value='a'.succ()+"\n"; $("res_succ").value+='aaaa'.succ(); </script>
JSON形式のデータか調べる
isJSON()
unknown
<textarea id="res_isjson" style="width:90%; height:6em;"></textarea> <script type="text/javascript"> $("res_isjson").value="something".isJSON()+"\n"; $("res_isjson").value+="\"something\"".isJSON()+"\n"; $("res_isjson").value+="{ foo: 42 }".isJSON()+"\n"; $("res_isjson").value+="{ \"foo\": 42 }".isJSON()+"\n"; </script>
文字列をエスケープ/アンエスケープ
unknown
対象となる文字列.unescapeHTML(); → String
<input id="res_motohtml" style="width:90%;" readonly="readonly" /><br> ▼エスケープ<br> <input id="res_escapehtml" style="width:90%;" readonly="readonly" /><br> ▼エスケープした文字をアンエスケープ<br> <input id="res_unescapehtml" style="width:90%;" readonly="readonly" /> <script type="text/javascript"> var str='<h1>PHP & JavaScript Room</h1>'; $("res_motohtml").value=str; /* エスケープ */ var strEscape=str.escapeHTML(); $("res_escapehtml").value=strEscape; /* アンエスケープ */ $("res_unescapehtml").value=strEscape.unescapeHTML(); </script>
sub
sub()
unknown
<textarea id="res_sub" style="width:90%; height:10em;"></textarea> <script type="text/javascript"> var fruits='apple pear orange'; $("res_sub").value=fruits.sub(' ', ', ')+"\n"; $("res_sub").value+=fruits.sub(' ', ', ', 1)+"\n"; $("res_sub").value+=fruits.sub(' ', ', ', 2)+"\n"; $("res_sub").value+=fruits.sub(/\w+/, function(match){return match[0].capitalize() + ','}, 2)+"\n\n"; var markdown=' '; $("res_sub").value+=markdown.sub(/!\[(.*?)\]\((.*?)\)/, function(match){ return '<img alt="' + match[1] + '" src="' + match[2] + '" />'+"\n"; }); $("res_sub").value+=markdown.sub(/!\[(.*?)\]\((.*?)\)/, '<img alt="#{1}" src="#{2}" />'); </script>
特定の文字列から始まるか調べる
startsWith()
unknown
<textarea id="res_startswith" style="width:90%; height:6em;"></textarea> <script type="text/javascript"> $("res_startswith").value='PHP & JavaScript Room'.startsWith('PHP')+"\n"; $("res_startswith").value+='PHP & JavaScript Room'.startsWith('php')+"\n"; </script>
unfilterJSON
unfilterJSON()
unknown
<textarea id="res_unfilterjson" style="width:90%; height:6em;"></textarea>
<script type="text/javascript">
$("res_unfilterjson").value='/*-secure-\n{"name": "Violet", "occupation": "character", "age": 25}\n*/'.unfilterJSON();
</script>
特定の文字列を含むか調べる
include()
unknown
文字列中に、特定の文字列が含まれるかどうか調べます。 含まれている場合にTRUE、含まれていない場合にFALSEを返します。 大文字小文字は区別されます。
サンプルを見る<textarea id="def_evalscripts" style="width:90%;" /></textarea> <script type="text/javascript"> $("def_evalscripts").value='PHP & JavaScript Room'.include('java')+"\n"; $("def_evalscripts").value+='PHP & JavaScript Room'.include('JavaScript')+"\n"; </script>
指定回数繰り返す
times()
unknown
<textarea id="res_times" style="width:90%;"></textarea> <script type="text/javascript"> $("res_times").value="echo ".times(3); </script>
文字列が特定の文字列で終わっているか調べる
endsWith()
unknown
文字列が、調べる文字列で終わっている場合にTRUE、そうでない場合にFALSEを返します。文字列が空の場合にTRUE、空でない場合にFALSEを返します。
サンプルを見るnow coding ...
module/include/ajax/prototypejs_string/endsWith.inc
scan
scan()
unknown
<textarea id="res_scan" style="width:90%; height:6em;"></textarea> <script type="text/javascript"> var fruits = []; 'apple, pear & orange'.scan(/\w+/, function(match){ fruits.push(match[0])}); $("res_scan").value=fruits.inspect(); </script>
interpolate
interpolate()
unknown
<textarea id="res_interpolate" style="width:90%; height:8em;"></textarea> <script type="text/javascript"> $("res_interpolate").value="#{animals} on a #{transport}".interpolate({ animals: "Pigs", transport: "Surfboard" })+"\n"; var syntax = /(^|.|\r|\n)(\<%=\s*(\w+)\s*%\>)/; //matches symbols like '<%= field %>' var html = '<div>Name: <b><%= name %></b>, Age: <b><%= age %></b></div>'; html.interpolate({ name: 'John Smith', age: 26 }, syntax); </script>
引用符が含まれる文字列ノでバックバージョンを返す
inspect()
unknown
第1引数useDoubleQuotesは、文字列全体をダブルクウォーテーションでくくるかどうかの有無を指定します。 デフォルトはFALSE(ダブルクウォーテーションでくくらない)です。
デフォルトのFALSEの場合
- 文字列中にシングルクウォートが含まれる場合、文字列をシングルクウォートでくくり、文字列内のシングルクウォートとをエスケープした文字列を返します。
- 文字列中にダブルクウォートが含まれる場合、文字列をダブルクウォートでくくった文字列を返します。
<input id="def_inspectF1" style="width:90%;" readonly="readonly" /><br>
<input id="def_inspectF2" style="width:90%;" readonly="readonly" /><br>
▼<br>
<textarea id="res_inspectF" style="width:90%;" readonly="readonly" /></textarea>
<script type="text/javascript">
var str1="Don't Woory!";
var str2='she said "I Love it!"';
$("def_inspectF1").value=str1;
$("def_inspectF2").value=str2;
/* */
$("res_inspectF").value=str1.inspect()+"\n";
$("res_inspectF").value+=str2.inspect();
</script>
TRUEの場合
- 文字列中にシングルクウォートが含まれる場合、文字列をダブルクウォートでくくった文字列を返します。
- 文字列中にダブルクウォートが含まれる場合、文字列をダブルクウォートでくくり、文字列中のダブルクウォートをエスケープした文字列を返します。
<input id="def_inspectT1" style="width:90%;" readonly="readonly" /><br>
<input id="def_inspectT2" style="width:90%;" readonly="readonly" /><br>
▼<br>
<textarea id="def_inspectT" style="width:90%;" readonly="readonly" /></textarea>
<script type="text/javascript">
var str1="Don't Woory!";
var str2='she said "I Love it!"';
$("def_inspectT1").value=str1;
$("def_inspectT2").value=str2;
/* */
$("def_inspectT").value=str1.inspect(true)+"\n";
$("def_inspectT").value+=str2.inspect(true);
</script>
文字列中に含まれるスクリプトコードを評価
evalScripts()
unknown
<input id="def_evalscripts" style="width:90%;" readonly="readonly" /><br> <script type="text/javascript"> /* Firefoxでscript要素内にscript要素があるとエラーが発生するため、"</scr"+"ipt>"で回避 */ var str="<a href='#'>リンク</a><script type='text/javascript'>alert('Hello! Internet!');</sc"+"ript>"; $("def_evalscripts").value=str; /* 文字列中に含まれるスクリプトコードを評価(実行) */ str.evalScripts(); </script>
文字列が空かどうか調べる
empty()
unknown
文字列が空の場合にTRUE、空でない場合にFALSEを返します。 半角スペース、全角スペース、タブ、改行が含まれる場合は、FALSEが返ります。
サンプルを見る<textarea type id="res_empty" style="width:90%;" readonly="readonly"></textarea>
<script type="text/javascript">
var str1="";
var str2=" \t\r\n "; /* 半角スペース、全角スペース、タブ、改行 */
$("res_empty").value="'"+str1+"' → "+str1.empty()+"\n";
$("res_empty").value+="'"+str2+"' → "+str2.empty();
</script>
JSON形式のデータを文字列として評価(実行)する
evalJSON()
unknown
now coding ...
module/include/ajax/prototypejs_string/evalJSON.inc
文字列が空かホワイトスペースかどうか調べる
blank()
unknown
文字列が空またはホワイトスペースの場合にTRUEを返し、そうでない場合にFALSEを返します。
サンプルを見る<textarea id="res_blank" style="width:90%; height:8em;"></textarea> <script type="text/javascript"> $("res_blank").value="'': "+''.blank()+"\n"; $("res_blank").value+="半角スペース: "+' '.blank()+"\n"; $("res_blank").value+="全角スペース: "+' '.blank()+"\n"; $("res_blank").value+="タブ: "+' '.blank()+"\n"; $("res_blank").value+="' a ': "+' a '.blank()+"\n"; </script>
文字列をラクダ文字に変換
camelize()
unknown
ハイフン区切りの文字列をキャメル型文字列(単語の先頭を大文字にして結合した文字列)に変換した文字列を返します。
text-align
→textAlign
のように変換されるため、CSSのプロパティ名を指定するときに有用です。
<input id="def_camelize" style="width:90%;" readonly="readonly" /><br>
▼文字列をラクダ文字に変換<br>
<textarea id="res_camelize" style="width:90%; height:3em;" readonly="readonly"></textarea>
<script type="text/javascript">
var str="body { margin:0 auto; padding:0; text-align:center; background-color:#ffffff; font-size:81%; }";
$("def_camelize").value=str;
/* 文字列をラクダ文字に変換 */
$("res_camelize").value=str.camelize();
</script>
文字列中のアンダーバーをハイフンに変換
dasherize()
unknown
文字列中のアンダーバーをすべてハイフンに変換した文字列を返します。
サンプルを見る<input id="def_dasherize" style="width:90%;" readonly="readonly" /><br>
▼文字列中のアンダーバーをハイフンに変換<br>
<input id="res_dasherize" style="width:90%;" readonly="readonly" />
<script type="text/javascript">
var str="000_0000_0000";
$("def_dasherize").value=str;
/* 文字列中のアンダーバーをハイフンに変換 */
$("res_dasherize").value=str.dasherize();
</script>
文字列の先頭と末尾のホワイトスペースを除去
strip()
unknown
<textarea id="def_strip" style="width:90%;" readonly="readonly"></textarea><br>
▼ホワイトスペース(半角、全角スペース、タブ、改行)<br>
<textarea id="res_strip" style="width:90%;" readonly="readonly"></textarea>
<script type="text/javascript">
var str=" \t\r hello world! \r\n";
$("def_strip").value=str;
/* 文字列中に含まれるスクリプトコードを評価(実行) */
$("res_strip").value=str.strip();
</script>
truncate
truncate()
unknown
<textarea id="res_truncate" style="width:90%; height:6em;"></textarea> <script type="text/javascript"> $("res_truncate").value='A random sentence whose length exceeds 30 characters.'.truncate()+"\n"; $("res_truncate").value+='Some random text'.truncate()+"\n"; $("res_truncate").value+='Some random text'.truncate(10)+"\n"; $("res_truncate").value+='Some random text'.truncate(10, ' [...]')+"\n"; </script>
クエリー文字列を配列に変換
toQueryParams()
unknown
parseQuery()メソッドは、この関数のエイリアスです。
サンプルを見る<input id="def_toqueryparams" style="width:90%;" readonly="readonly" /><br>
▼クエリー文字列を配列に変換<br>
<textarea id="res_toqueryparams" style="width:90%; height:3em;" readonly="readonly"></textarea>
<script type="text/javascript">
var queryStr="http://phpjavascriptroom.com/?t=ajax&p=prototypejs_string#a_striptags";
$("def_toqueryparams").value=queryStr;
/* クエリー文字列を配列に変換 */
var queryArray=queryStr.toQueryParams();
$("res_toqueryparams").value="t="+queryArray["t"]+"\n";
$("res_toqueryparams").value+="p="+queryArray["p"];
</script>
script要素の内容を取得
extractScripts()
unknown
<input id="def_extractscripts" style="width:90%;" readonly="readonly" /><br> ▼script要素の内容を取得<br> <input id="res_extractscripts" style="width:90%;" readonly="readonly" /> <script type="text/javascript"> /* Firefoxでscript要素内にscript要素があるとエラーが発生するため、"</scr"+"ipt>"で回避 */ var str="<a href='#'>リンク</a><script type='text/javascript'>alert('Hello! Internet!');</sc"+"ript>"; $("def_extractscripts").value=str; /* script要素の内容を取得 */ $("res_extractscripts").value=str.extractScripts(); </script>
文字列をJSON形式に変換
toJSON()
unknown
<textarea id="res_tojson" style="width:90%;"></textarea> <script type="text/javascript"> $("res_tojson").value='The "Quoted" chronicles'.toJSON(); </script>
文字列を1文字ずつ分割して配列に格納
toArray()
unknown
<input id="def_toarray" style="width:90%;" readonly="readonly" /><br>
▼文字列を1文字ずつ分割して配列に格納<br>
<textarea id="res_toarray" style="width:90%; height:3em;" readonly="readonly"></textarea>
<script type="text/javascript">
var str="PHP & JavaScript Room";
$("def_toarray").value=str;
/* 文字列を1文字ずつ分割して配列に格納 */
var strArray=str.toArray();
$("res_toarray").value=strArray.inspect();
</script>
underscore
underscore()
unknown
<textarea id="res_underscore" style="width:90%; height:6em;"></textarea> <script type="text/javascript"> $("res_underscore").value='borderBottomWidth'.underscore(); </script>