プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 9.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;

パラメータ

表9-6 JS_LITERALファンクションのパラメータ

パラメータ | 説明
--- | ---
`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;