最近做了个登录界面,要实现记住密码效果,然而看似很简单,做起来略复杂。我就在不断改进中,有如下成果,如果可以优化,或有什么问题,可以评论留言。
首先,需下载jquery.cookie.js,和md5.js。
介绍一下这两个js文件,jquery.cookie.js 是提供了一些创建cookie的API接口的js文件,也可以自己写,md5.js是用来对密码进行MD5方式的加密。
再介绍下cookie.js的一般方法:
cookie保存在客户端,保存方式类似于text,且以键值对的形式保存,即key->value。
创建cookie
$.cookie(键名,值,保存时长) //保存时长的写法为{expires:number,path:'/'},expires是要保存的天数,path是保存的路径,一般为'/'。
删除cookie,只用将天数设为-1即可。
取cookie的值
$.cookie(键名) //返回字符串类型的键名所对应的值。
本次所用的md5.js 只有32位加密,而我修改了md5.js 的功能,使他能进行16位加密,所以方法改为$.md5(xxx,16),如果没有对js文件进行修改,其方法为$.md5(xxx);
在上代码前,须有几点强调,首先,加有cookie功能的代码需在本地服务器上实现,干瘪瘪的html是无法实现cookie的功能。
其次,必须下对正确的jquery.cookie.js。
再次,如果想实时查看cookie的内容,建议用Firefox浏览器,因为有较简单查询cookie的方法
最后,md5.js 只是更好地与数据库交互,在前端就对密码加密,你可以使用数据库的加密方法实现。
特别说明的是,记住密码功能不一定由cookie实现,可以使用html5的localstorage来实现。
<script type="text/javascript" src="scripts/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="scripts/jquery.cookie.js"></script>
<script type="text/javascript" src="scripts/md5.js"></script>
<body>
<label for="Username">用户名:</label>
<input type="text" id="Username" />
<span id="error1" style="color:red;font-size:large;">