我想驗證一個沒有域的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