Jquery I';我试图在JSlint中验证docCookies框架,里面有很多正则表达式错误
我想确保我的整个代码都能正常工作,并清除JSlint中的警告。我几乎做到了干净,但docCookies框架似乎在JSlint中包含了所有警告 i、 e: “.”之前出现意外的“\”。 “+”之前出现意外的“\” 我真的找不到正则表达式有什么问题,希望有人能在这方面帮助我 我一直使用的docCookies框架是:Jquery I';我试图在JSlint中验证docCookies框架,里面有很多正则表达式错误,jquery,jslint,Jquery,Jslint,我想确保我的整个代码都能正常工作,并清除JSlint中的警告。我几乎做到了干净,但docCookies框架似乎在JSlint中包含了所有警告 i、 e: “.”之前出现意外的“\”。 “+”之前出现意外的“\” 我真的找不到正则表达式有什么问题,希望有人能在这方面帮助我 我一直使用的docCookies框架是: docCookies: { getItem: function(e) { if (!e) { return null }
docCookies: {
getItem: function(e) {
if (!e) {
return null
}
return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(e).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null
},
setItem: function(e, t, n, a, i, r) {
if (!e || /^(?:expires|max\-age|path|domain|secure)$/i.test(e)) {
return false
}
var o = "";
if (n) {
switch (n.constructor) {
case Number:
o = n === Infinity ? "; expires=Fri, 31 Dec 9999 23:59:59 GMT" : "; max-age=" + n;
break;
case String:
o = "; expires=" + n;
break;
case Date:
o = "; expires=" + n.toUTCString();
break
}
}
document.cookie = encodeURIComponent(e) + "=" + encodeURIComponent(t) + o + (i ? "; domain=" + i : "") + (a ? "; path=" + a : "") + (r ? "; secure" : "");
return true
},
removeItem: function(e, t, n) {
if (!this.hasItem(e)) {
return false
}
document.cookie = encodeURIComponent(e) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + (n ? "; domain=" + n : "") + (t ? "; path=" + t : "");
return true
},
hasItem: function(e) {
if (!e) {
return false
}
return new RegExp("(?:^|;\\s*)" + encodeURIComponent(e).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=").test(document.cookie)
},
keys: function() {
var e = document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g, "").split(/\s*(?:\=[^;]*)?;\s*/);
for (var t = e.length, n = 0; n < t; n++) {
e[n] = decodeURIComponent(e[n])
}
return e
}
}
docCookies:{
getItem:函数(e){
如果(!e){
返回空
}
返回decodeURIComponent(document.cookie.replace(新的RegExp((?:(?:^ |.*))\\s*“+encodeURIComponent(e).replace(/[\-\.\+\*]/g,\\\$&”)+“\\s*\=\\s*([^;]*)^.$”,$1”)\124; null
},
设置项:函数(e,t,n,a,i,r){
如果(!e | |/^(?:expires | max-age | path | domain | secure)$/i.test(e)){
返回错误
}
var o=“”;
如果(n){
交换机(n.constructor){
案件编号:
o=n==Infinity?;expires=Fri,1999年12月31日23:59:59 GMT:“最大年龄=”+n;
打破
大小写字符串:
o=“;expires=“+n;
打破
案件日期:
o=“;expires=“+n.toutString();
打破
}
}
document.cookie=encodeURIComponent(e)+“=”+encodeURIComponent(t)+o+(i?”;domain=“+i:”)+(a?”;path=“+a:”)+(r?”;secure:”);
返回真值
},
removeItem:函数(e、t、n){
如果(!this.hasItem(e)){
返回错误
}
document.cookie=encodeURIComponent(e)+“=;expires=Thu,1970年1月1日00:00:00 GMT”+(n?;domain=“+n:”)+(t?;path=“+t:”);
返回真值
},
项目:功能(e){
如果(!e){
返回错误
}
返回新的RegExp(“(?:^\\\\s*)”+encodeURIComponent(e)。替换(/[\-\.\+\*]/g,“\\$&”)+“\\s*\=”。测试(document.cookie)
},
键:函数(){
var e=document.cookie.replace(/((?:^\s*)[^\=]+)(?=;$)\124^\ s*(?:\=[^;]*)(?:\=[^;]*))/g,”).split(/\s*(?:\=[^;]*))\s*);
对于(var t=e.length,n=0;n
一些警告如下图所示:
提前感谢您的帮助。:)
编辑:很抱歉,我忘记为JS lint设置添加以下内容:
假设:“一个浏览器”
容忍:“这”和“空白混乱”这不是你的代码,对吗?也就是说,docCookies是第三方框架,对吗?如果它是您的,请尝试修复其他现有的JSLint错误。您缺少各种半色调,而且
var
声明也不合格。快速的回答是,你不需要在正则表达式中转义一些字符(略读后使用afaict),但我也建议,因为这看起来就是它。嗨,ruffin,是的,这不是我代码的一部分,这只是一个框架,我复制了它来提供帮助。非常感谢您的建议,我还不是正则表达式的专家,这就是为什么我没有像您所说的那样使用它来去除“\”。这不是您的代码,对吗?也就是说,docCookies是第三方框架,对吗?如果它是您的,请尝试修复其他现有的JSLint错误。您缺少各种半色调,而且var
声明也不合格。快速的回答是,你不需要在正则表达式中转义一些字符(略读后使用afaict),但我也建议,因为这看起来就是它。嗨,ruffin,是的,这不是我代码的一部分,这只是一个框架,我复制了它来提供帮助。非常感谢您的建议,我还不是正则表达式的专家,这就是为什么我没有像您所说的那样真正地使用它来摆脱“\”。