核心结论
使用正则从 document.cookie 按名称读取值时,需要同时处理键名边界、动态名称中的正则元字符、分号后的可选空格以及百分号解码。不能直接拼接未经转义的名称,也不能仅使用 name=([^;]*),否则查询 id 时可能误匹配 user_id。题目要求使用正则时,可先转义名称,再使用 (?:^|;\s*) 限定条目起点。
可运行实现
function escapeRegExp(text) {
return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
function getCookie(na