Может ли кто-нибудь есть предложения о том, как просто определить, является ли строка «похожей» на строку запроса или нет? Например, если бы я имел строку запроса, как это:Обнаружить, если строка выглядит как строка запроса
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;
}
На всякий случай, оба метода возвращают 'false', когда я тестировал его с помощью строки запроса' field1 = value1'. У вас есть дополнительная спецификация, что строка запроса всегда должна иметь «&»? Возможно, чтение [соответствующей статьи Википедии] (http://en.wikipedia.org/wiki/Query_string) может помочь лучше понять правило для правильной строки запроса. –
Хороший вопрос, но в моем случае всегда будет много параметров. Никогда не будет содержать?? и может или не может начинаться с «&». Я знаю, что на самом деле нет надежного огневого способа сделать это, я просто пытаюсь получить приличный чек. Может быть, можно добавить, что он не может начинаться с «<, {, [». – Rick
Поместите эту информацию в тело вопроса и, возможно, если возможно, проверите больше тестовых примеров, чтобы прояснить проблему. –