我正在使用JQuery Querystring插件来获取Querystrings。
我的代码如下:
if ($.query.get("mode"))
{
//alert("mode");
var newUrl;
var t1 = ($.query);
newUrl = $.query.REMOVE("mode");
$.query.toString();
currentPageLink = reloadURL.split("?")[0] + $.query.set("mode", "ssl");
}
问题是,当我使用$.query.set("mode", "ssl")
从001值中删除我的数字00时,我的意思是如果我的任何查询字符串都是数字,例如“....?accountno = 001”之后执行$。 query.set它将它更改为?accountno = 1,
请建议!!
答案 0 :(得分:1)
$。查询似乎将您的accountno强制转换为整数而不是字符串(这将保留两个前导零)。
正则表达式中似乎存在一个错误,用于确定参数是否为int。目前,甚至字符串前导零(并且只有数字字符)是类型转换的。他们不应该。
在latest query plugin的第89行,正则表达式/^[+-]?[0-9]+$/
可以重写,应该这样做。我打算建议/^[+-]?[1-9][0-9]*$/
,但这个正则表达式错过了“0”的情况。