Подтвердите путь URL
Я пытаюсь проверить URL без домена, только путь и параметры.
Регулярное выражение, которое я использую, выполняет большую часть работы, но в нем есть некоторые ошибки, которые я не знаю, как предотвратить (я довольно хорош с regexp):
/^(\/([\w#!:.?+=&%@!\-\/])+)$/i
Следующий пример правильно проверен
/asd.jsp -> true
/asd/asd.jsp -> true
/asd/asd.jsp?bar=baz&inga=42&quux -> true
/asd/asd.jsp?bar=ba z&inga=42&quux -> false
Но это не правильные ulrs, и они тоже дают мне правду:
/asd/asd./jsp -> true :(
/asd/asd.jsp/ -> true :(
/asd./asd.jsp -> true :(
/asd///asd.jsp -> true :(
/asd/asd.jsp&bar=baz?inga=42?quux -> true :(
Вы рекомендуете использовать функцию вместо регулярного выражения?
Большое спасибо!