13.6 JS_LITERALファンクション
JS_LITERAL
ファンクションは、JavaScript文字列のエスケープおよび(オプションで)クォートを行います。このファンクションは、影響を受ける文字を\xHH
または\uHHHH
と同等のものに置換します。結果は、<script>
タグまたはインライン(「javascript:xxx
」)内のJavaScriptコードに挿入できます。パラメータp_quote
がnullのとき、出力を引用符で囲まない場合に影響を受けない文字は、aからz、AからZ、0から9、カンマ(,)、ピリオド(.)、アンダースコア(_)です。p_quote
に値を指定すると、& < > " ' ` / \ %を除く出力可能なASCII 7
文字がエスケープされません。
構文
APEX_ESCAPE.JS_LITERAL (
p_string IN VARCHAR2,
p_quote IN VARCHAR2 DEFAULT '''' )
return VARCHAR2;
パラメータ
表13-6 JS_LITERALファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
エスケープされるテキスト文字列。 |
|
NULL以外の場合、この文字列は結果の左および右に配置されます。引用文字は、一重引用符または二重引用符である必要があります。 |
例
ここでは、JS_LITERAL
を使用して、l_string
変数内の特殊文字をエスケープする方法を示します。
declare
l_string varchar2(4000) := 'O''Brien';
begin
sys.htp.p('<script>'||
'alert('||apex_escape.js_literal(l_string)||');'||'</script>');
end;
親トピック: APEX_ESCAPE