任何人都可以建議如何檢測一個字符串是否「看起來像」查詢字符串?舉例來說,如果我有一個查詢字符串是這樣的:檢測一個字符串是否看起來像查詢字符串
field1=value1&field2=&field3=value4
它會返回true
。
以下是我在想的應該爲我所需要的技巧做些什麼,但我也對任何其他建議以及下面的內容非常粗略。也許甚至有一個函數在解析無效查詢字符串時返回false
?
function looks_like_querystring(source) {
return /=.*?&/g.test(source);
}
或
function looks_like_querystring(source) {
return source.indexOf('&') != -1 && source.indexOf('=') != -1;
}
爲了以防萬一,當我使用有效的'field1 = value1'查詢字符串測試它時,您的兩個方法都返回'false'。你有更多的規範,查詢字符串必須始終具有'&'?也許閱讀[相應的維基百科文章](http://en.wikipedia.org/wiki/Query_string)可能有助於更多地瞭解有效查詢字符串的規則。 – 2014-09-24 01:53:21
好問題,但在我的情況下,總會有很多參數。永遠不會包含「?」並可能會或可能不會以「&」開頭..我知道有沒有真正的火災方式來做到這一點,我只是想得到一個體面的檢查..也許可以補充說,它不能以「<,{, [」。 – Rick 2014-09-24 02:03:03
把這些信息提供給問題主體,也許如果可能的話,更多的測試用例來澄清問題。 – 2014-09-24 02:07:57