zoukankan      html  css  js  c++  java
  • js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法

    //是否存在指定函数
    function isExitsFunction(funcName) {
        try {
            if (typeof(eval(funcName)) == "function") {
                return true;
            }
        } catch(e) {}
        return false;
    }
    //是否存在指定变量
    function isExitsVariable(variableName) {
        try {
            if (typeof(variableName) == "undefined") {
                //alert("value is undefined");
                return false;
            } else {
                //alert("value is true");
                return true;
            }
        } catch(e) {}
        return false;
    }

    有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法


     a=getCookie("username3");
     c_start=document.cookie.indexOf("username3=");
     if(c_start == -1){
      $("#login_form").show();
         $("#logined").hide();
     }
     else{
      $("#login_form").hide();
         $("#logined").show();
         $("#ustr").html(a);
     }
     


    正确方法是:判断是否存在名为username3的cookie,使用document.cookie.indexOf(“username3=”)来判断,如果返回值是-1,表示不存在。

    JS保存、删除cookie操作

    用js保存、删除cookie操作比较方便,不用在程序里面写,改起来也容易,比较全的用js保存、删除cookie操作的方法如下:

    复制代码 代码如下:


    <script language=javascript>
     //获得coolie 的值
    function cookie(name){   
       var cookieArray=document.cookie.split("; "); //得到分割的cookie名值对   
       var cookie=new Object();   
       for (var i=0;i<cookieArray.length;i++){   
          var arr=cookieArray[i].split("=");       //将名和值分开   
          if(arr[0]==name)return unescape(arr[1]); //如果是指定的cookie,则返回它的值   
       }
       return "";
    }

    function delCookie(name)//删除cookie
    {
       document.cookie = name+"=;expires="+(new Date(0)).toGMTString();
    }

    function getCookie(objName){//获取指定名称的cookie的值
        var arrStr = document.cookie.split("; ");
        for(var i = 0;i < arrStr.length;i ++){
            var temp = arrStr[i].split("=");
            if(temp[0] == objName) return unescape(temp[1]);
       }
    }

    function addCookie(objName,objValue,objHours){      //添加cookie
        var str = objName + "=" + escape(objValue);
        if(objHours > 0){                               //为时不设定过期时间,浏览器关闭时cookie自动消失
            var date = new Date();
            var ms = objHours*3600*1000;
            date.setTime(date.getTime() + ms);
            str += "; expires=" + date.toGMTString();
       }
       document.cookie = str;
    }

    function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
    {
        var Days = 30; //此 cookie 将被保存 30 天
        var exp = new Date();    //new Date("December 31, 9998");
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }

    function getCookie(name)//取cookies函数       
    {
        var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
        if(arr != null) return unescape(arr[2]); return null;
    }

    function delCookie(name)//删除cookie
    {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        var cval=getCookie(name);
        if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }
    </script>

  • 相关阅读:
    DALSA线阵相机调焦、平场校正、行频微调
    千兆网卡、万兆网卡设置
    【转载】.h头文件 .lib库文件 .dll动态库文件之间的关系,静态编译、动态编译
    【转载】工控机插槽
    镜头的选择
    相机SDK流程
    光栅尺触发DALSA线阵相机
    Go语言备忘录(3):net/http包的使用模式和源码解析
    Go语言备忘录(2):反射的原理与使用详解
    Go语言备忘录(1):基本数据结构
  • 原文地址:https://www.cnblogs.com/opret/p/4439748.html
Copyright © 2011-2022 走看看