26.15 JS_LITERALファンクション
JS_LITERAL
ファンクションは、JavaScript文字列をエスケープし、オプションで、引用符で囲みます。このファンクションは、影響を受ける文字を\xHH
または\uHHHH
と同等のものに置換します。結果は、<script>
タグ内またはインライン(javascript:nnn
)のJavaScriptコードに挿入できます。影響を受けない文字を次に示します。
a
からz
A
からZ
0
から9
- カンマ
,
- ピリオド
.
- アンダースコア
_
出力を引用符で囲まない場合、パラメータp_quote
はNULLになります。
p_quote
に値を指定すると、& < > " ' ` / \ %を除く、出力可能なASCII 7
文字がエスケープされなくなります。
構文
APEX_ESCAPE.JS_LITERAL (
p_string IN VARCHAR2,
p_quote IN VARCHAR2 DEFAULT '''' )
return VARCHAR2;
パラメータ
パラメータ | 説明 |
---|---|
p_string |
エスケープされるテキスト文字列。 |
p_quote |
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