JavaScript(7)

2022-04-05 09:34:29 浏览数 (1)

五、escape函数和unescape函数

escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读。

unescape()函数和escape()函数是刚好反过来的,escape()函数是编码,unescape()函数是解码。

1、escape函数

escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读。

语法:

代码语言:javascript复制
escape(charString)

说明:

charString是必选参数,表示要进行编码的字符串或文字。escape()函数返回一个包含charString内容的字符串值(Unicode格式)。除了个别如“*@”之类的符号外,其余所有空格、标点符号以及其他非ASCII字符均可用“%xx”这种形式的编码代替,其中xx等于表示该字符的十六进制数。

举例:

代码语言:javascript复制
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

    <script type="text/javascript">

        document.write(escape("hello lvye!"))

    </script>

</head>

<body>

</body>

</html>

在浏览器预览效果如下:

分析:

空格符对应的编码是“ ”,感叹号对应的编码是“!”,因此执行escape("hello lvye!")后结果为“hello lvye!”。

2、unescape()函数

escape()函数和unescape()函数是刚好反过来的,前者是编码,后者是解码。

语法:

代码语言:javascript复制
unescape(charString)

说明:

charString是必选参数,表示要进行解码的字符串。unescape()函数返回指定值的ASCII字符串。与escape()函数相反,unescape()函数返回一个包含charString内容的字符串值,所有以“%xx”十六进制形式编码的字符都用ASCII字符集中等价的字符代替。

举例:

代码语言:javascript复制

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

    <script type="text/javascript">

        document.write(unescape("hello lvye!"))

    </script>

</head>

<body>

</body>

</html>

在浏览器预览效果如下:

分析:

空格符对应的编码是“ ”,感叹号对应的编码是“!”,因此执行unescape("hello lvye!")后结果为“hello lvye!”。

六、训练题

在线escape加解密工具制作

代码实现如下:

代码语言:javascript复制
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

    //定义基本样式

    <style type="text/css">

        #txt-input,#txt-output

        {

            height:60px;

        }

    </style>

    <script type="text/javascript">

        //定义加密函数

        function encrypt()

        {

            //获取输入框的值

            var str = document.getElementById("txt-input").value;

            //将输入框的值加密,并赋给输出框

            document.getElementById("txt-ouput").value = escape(str);

        }

        //定义解密函数

        function decrypt()

        {

            //获取输入框的值

            var str = document.getElementById("txt-input").value;

            //将输入框的值加密,并赋给输出框

            document.getElementById("txt-ouput").value = unescape(str);

        }

    </script>

</head>

<body>

    <form>

        <textarea id="txt-input" cols="20"></textarea><br />

        <input id="btn-encrypt" type="button" value="加密" onclick="encrypt()"/>

        <input id="btn-decrypt" type="button" value="解密" onclick="decrypt()"/>

        <input id="Reset1" type="reset" value="清空" /><br />

        <textarea id="txt-ouput" cols="20"></textarea>

    </form>

</body>

</html>

在浏览器预览效果如下(IE浏览器):

分析:

(1)重置按钮的作用域是同一个form标签内部的文本框,这一点请参考“HTML入门教程”中的“按钮button”这一节;

(2)这里再次用到了document.getElementById()这一JavaScript的id选择器,这次大家打死都要记住这一个语句了,在之前都讲解了3次以上了;

(3)这个在线工具逻辑已经实现,界面还比较粗糙,剩下的就交给大家润色了。

0 人点赞