代码之家  ›  专栏  ›  技术社区  ›  pavanlimo

有内置的Javascript函数要编码吗?

  •  0
  • pavanlimo  · 技术社区  · 14 年前

    我想把特殊字符(例如:日文字符)和 ' . encodeURIComponent()编码特殊字符,但不编码 ' .

    任何同时执行这两个操作的内置Javascript函数(即编码日文字符和 ' ?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Mike Clark    14 年前

    尝试 escape unescape .


    更新:好的,escape/unescape不友好。你说 encodeURIComponent 把你带到那里,但是错过了几个字符,即 ' . 我们可以做一个助手函数 utf8escape 使用 编码成分 但同时也要处理好所有剩余的魔法,即 ' :

     <html><head><title></title>
            <script>
                function utf8escape(s) {
                    s = encodeURIComponent(s);
                    s = s.replace(/'/, '%27');
                    return s;
                }
                function enc() {
                    var f1 = document.getElementById("f1");
                    f1.value = utf8escape(f1.value);
                }
                function dec() {
                    var f1 = document.getElementById("f1");
                    f1.value = decodeURIComponent(f1.value);
                }
            </script>
        </head>
        <body>
            <input type="text" id="f1" name="f1" size="80"/><br/>
            <button onclick="enc()">Encode</button>
            <button onclick="dec()">Decode</button>
        </body>
    </html>
    

    这个实现可能效率不高,但我想你已经有了大致的想法。