1. The string in the cookie fetched by the foreground is a connection of multiple cookie, for example, these two types:
var str = "OnlineCookie=OnlineCookie&UserType=11111111111111111&UID=39&UserName=; UID=; UserType=; UserName=";
var str2 = "OnlineCookie=OnlineCookie&UserType=11111111111111111&UID=39&UserName=%e5%bc%a0%e4%bf%8a; UID=; UserType=; UserName=; UserCookie=ZZSAPP&UnitName="
2. What I need to get is the value of cookie after the specified name, for example:
getCookie (str, "OnlineCookie", "UserType"); / / return 111111111111111
getCookie (str, "OnlineCookie", "UserName"); / / return "Zhang San"
getCookie (str2, "ZSAPP", "UnitName"); / / return "Beijing"
3. I used to write it in an array. But it feels so complicated, so I want to do it in a regular way
.function getCookie(str,userCookieName,name) {
var cookie = str;
if (cookie) {
var temp = cookie.split(";");
for (var k = 0, max = temp.length; k < max; kPP) {
if (temp[k].indexOf(userCookieName) > -1) {
var arr = temp[k].split("&");
for (var i = 0; i < arr.length; iPP) {
var arr1 = arr[i].split("=");
for (var j = 0; j < arr1.length; jPP) {
if (arr1[0] == name) {
return arr1[1];
break;
}
}
}
}
}
}
return "";
}
3. How can this function be written in Js"s regular expression?
function getCookie(str,userCookieName,name){
}