平成30/ 2018-10-24 06:44
javascript/ cookie

<script type="text/javascript">
function myPpty(pid){
    //alert(document.cookie);
    var cc;
    var ccc = "";
    var c = document.cookie;
    c = c.split(';'); // cookie値はセミコロン区切りされてる
    for( cc in c ){
        //alert(c[cc]);
        cc = c[cc];
        cc = cc.replace(/(^\s+)|(\s+$)/g, "");
        if(
        ccc = cc.match(/^mypid=([0-9,]+)$/)
        ){
            //alert(ccc[1]);
            ccc = ccc[1];
            break;
        }
    }
    if(
    ccc
    ){
        ccc+=',';
    }
    ccc+=pid;
    //alert(ccc);
    document.getElementById('f'+pid).innerHTML = 'お気に入りリスト登録済み';

    // このようにして有効期限も作成できる。
    //// 有効期限の作成
    //var nowtime = new Date().getTime();
    //var clear_time = new Date(nowtime + (60 * 60 * 24 * 1000 * period));
    //var expires = clear_time.toGMTString();

    document.cookie = "mypid="+ccc+";expires=Tue, 1-Jan-2030 00:00:00 GMT; path=/;";
}
function myPptyDel(pid){
    //alert(document.cookie);
    var cc;
    var ccc = "";
    var c = document.cookie;
    c = c.split(';');
    for( cc in c ){
        //alert(c[cc]);
        cc = c[cc];
        cc = cc.replace(/(^\s+)|(\s+$)/g, "");
        if(
        ccc = cc.match(/^mypid=([0-9,]+)$/)
        ){
            ccc = ccc[1];
            break;
        }
    }
    if(
    ccc
    ){
        c = ccc.split(',');
        ccc = '';
        for(cc in c ){
            if(
            c[cc] != pid
            ){
                ccc+=','+c[cc];
            }
        }
        ccc = ccc.replace(/(^,+)|(,+$)/g, "");
    }
    //alert(ccc);
    document.getElementById('f'+pid).innerHTML = 'お気に入りリスト削除済み';
    document.cookie = "mypid="+ccc+";expires=Tue, 1-Jan-2030 00:00:00 GMT; path=/;";
}
</script>

#### 参考
1. 無期限の指定はできないとのことなので、以下のようにした。
document.cookie = "mypid="+ccc+";expires=Tue, 1-Jan-2030 00:00:00 GMT; path=/;";
また、
[ ;domain=xxx ]のように指定できるが想定通りの値がセットされなかった為、省略してる。
####

( Thanks. )
とほほのCookie入門
http://webcache.googleusercontent.com/search?q=cache:3j6mAsI6wpUJ:www.tohoho-web.com/wwwcook.htm+&cd=1&hl=ja&ct=clnk&gl=jp
◆ Cookieの有効期限を無期限にするには?
無期限という指定はできないようです。2038年以降の日付をうまく扱えないシステムもあるので、2030年頃の日付を指定しておきましょう。
Set-Cookie: NAME=tanaka; expires=Tue, 1-Jan-2030 00:00:00 GMT;