有效查询字符串的最小长度是多少?

时间:2015-01-06 15:38:53

标签: url gwt uri query-string

URL可以拥有的最小长度有效查询字符串是什么?

RFC3986#section-3.4

The query component is indicated by the first question
mark ("?") character and terminated by a number sign ("#") character
or by the end of the URI.
...
query       = *( pchar / "/" / "?" )

那么,长度是三:pchar/?

或者它是两个:/?

为了给出一些代码和背景,我在GWT中检查这个:

if(Location.getQueryString().isEmpty() || Location.getQueryString().length() < 1) { //or whatever valid min length for query strings is

我的关注点基本上是确保我们正在使用的查询字符串有效。因此,为了验证这一点,我要检查它是否为空。在使用Location.getQueryString()

时,我还应该检查以确保这一点

1 个答案:

答案 0 :(得分:0)

Window.Location.getQueryString()是JS window.location.search的GWT版本。这意味着当URL根本不包含查询字符串时它是空的(或者没有检查),否则以?开头(如果查询字符串则意味着它等于?存在,但“空”,例如,网址以?结尾,或?后面紧跟#)。


重新。问题的开头,*( pchar / "/" / "?" )表示“与 pchar 生产匹配的任意数量的字符,或者/?pchar一组有效字符,或% - 编码的。)因此长度由生产的*部分决定,这意味着0 or more。但这定义了查询字符串的“内容” ,没有?分隔符;如果网址中有查询字符串,则window.location.search将包含?