使用js-cookie正则匹配指定前缀Cookie名称遇阻,求解决方案
js-cookie的Cookies.get()方法不支持直接传入正则表达式,它仅接受Cookie名称字符串或配置对象。要找到指定前缀的Cookie,需要手动遍历所有Cookie并做匹配校验:
可行实现代码
import Cookies from "js-cookie" // 获取当前域名下所有可访问的Cookie const allCookies = Cookies.get() // 筛选出名称以指定前缀开头的Cookie const targetCookie = Object.entries(allCookies).find(([cookieName]) => { return cookieName.startsWith('commercelayer_order-id') }) // 提取Cookie值,未找到则为undefined const orderId = targetCookie ? targetCookie[1] : undefined
额外说明
- 若需匹配更复杂的命名规则,可将
startsWith替换为正则校验:return /^commercelayer_order-id/.test(cookieName) - 确保Cookie的域名、路径配置与当前页面一致,否则
Cookies.get()无法获取到目标Cookie。
内容的提问来源于stack exchange,提问作者Leonel Matias Domingos
相关产品推荐
相关产品推荐

