我有一个很长的值的cookie,我在下面粘贴了一个例子。我需要分割名称值对并返回,在这种情况下,“id”从下面对应167814329
。这个cookie值的正则表达式?
我在阅读开发人员在这里使用的语法时遇到了困难(我是分析师而非开发工程师)。在过去,我已经看到名称值对与=或'|'一起使用语法作为分隔符。
它看起来好像是这个名字值对是像这样:
%22id%22%3A167814329%2C
var usd = document.cookie.match(/(^|)user_session_data\=([^;]*)(;|$)/)[0]
var arr = usd.split('%22')
var ind = arr.indexOf('id');
var pair = arr[ind];
但对是等于“ID”而已,我希望能得到这个数组值%22id%22%3A167814329%2C
,我可以再拆。
什么是一个干净的正则表达式得到167814329?
这里是例子cookie值进行搜索:
user_session_data=%7B%22lastUpdated%22%3A1476155189.373%2C%22active%22%3Afalse%2C%22uType%22%3A%22none%22%2C%22entitled%22%3Afalse%2C%22gift%22%3Afalse%2C%22stacked%22%3A%22none%22%2C%22usedsomestringFreeTrial%22%3A%22none%22%2C%22cancelled%22%3A%22none%22%2C%22displayName%22%3A%2220161010_gpc%40example.com%22%2C%22email%22%3A%2220161010_gpc%40example.com%22%2C%22userName%22%3A%2220161010_gpc%40example.com%22%2C%22firstName%22%3Anull%2C%22salesChannel%22%3A%22cat%22%2C%22marketingOptIn%22%3Atrue%2C%22newIssueEmailNotifyEnabled%22%3Afalse%2C%22restartSubscriptions%22%3A%5B%5D%2C%22id%22%3A167814329%2C%22purchaseType%22%3A%22NONE%22%2C%22futurePurchaseType%22%3A%22NONE%22%2C%22somestringStatus%22%3Anull%2C%22hasFuturePrivilege%22%3Afalse%2C%22rogersUser%22%3Afalse%2C%22suspendedStatus%22%3Anull%2C%22socialEmail%22%3A%22%22%2C%22somestringOffersStale%22%3Anull%2C%22somestringcabbagesPrice%22%3Anull%2C%22somestringcabbagesId%22%3Anull%2C%22somestringcabbagesFreeTrial%22%3Anull%2C%22somestringcabbagesOfferPackageId%22%3Anull%2C%22somestringcarrotsPrice%22%3Anull%2C%22somestringcarrotsId%22%3Anull%2C%22somestringcarrotsFreeTrial%22%3Anull%2C%22somestringcarrotsOfferPackageId%22%3Anull%2C%22launchedFromReader%22%3Anull%2C%22userPaymentMethod%22%3Anull%2C%22iseligibleforfreetrial%22%3Atrue%2C%22loginTimeStamp%22%3A%22Tue%20Oct%2011%202016%2011%3A06%3A29%20GMT%2B0800%20(PHT)%22%2C%22latestSubscriptionSource%22%3Anull%7D;"
谢谢伯尔尼正则表达式。但现在我不确定是否应该使用json解析或更改为正则表达式来生活!感谢您的回答 –
好的回答伯尔尼。这些表情有时可以拯救生命! –
解析JSON将使得将来更容易更改,并且如果您稍后需要它们,则可以访问所有字段。自从查看所有数据后,它也很难打破。如果某人的电子邮件是,例如'id%22%3A123%2C @ gmail.com',这个表达式会变得非常困惑。这就是说,也许这不是你的问题,这个快速简便的解决方案就是你想要的。 – 3ocene