我想验证一个没有域的url,只是路径和参数。验证url的路径
,我使用做的大部分工作的正则表达式,但它有一些错误,我不知道如何阻止(我用正则表达式很小白):
/^(\/([\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
但这者的arent正确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 :(
你是否建议使用函数而不是正则表达式?
非常感谢!
看看[本问题](http://stackoverflow.com /问题/ 161738 /什么,是最最好的正则表达式来检查,如果-A-字符串是-A - 有效的URL)。只要删除域的正则表达式(搜索第三点)。 – 2012-07-13 12:08:36
'/ asd/asd.jsp /'是一个有效的网址 – 2012-07-13 12:09:53