是否有和容易的方式獲得使用JAVA的URL查詢字符串的語法驗證。我發現了類似的問題,但沒有一個很好的答案。有沒有簡單的方法獲得使用JAVA的URL查詢字符串的語法驗證
1
A
回答
0
您可以使用java.net.URL
創建一個URL。如果URL不正確,則會拋出MalformedURLException
。
try{
URL url=new URL("www.something.com?a=b&c=d");
}
catch(MalformedURLException e){
System.out.println("Sorry! This is Incorrect URL!!!");
}
URL
public URL(String spec) throws MalformedURLException
創建從字符串表示一個URL對象。這個構造函數 等同於對第一個參數爲null的雙參數構造函數的調用。
參數:
spec - 要解析爲URL的字符串。拋出:
MalformedURLException - 如果未指定協議,或未知 協議被發現,或規格爲空。
0
如果使用UrlValidator會怎麼樣?
//instantiate a UrlValidator and then just return the url validation
UrlValidator urlValidator = new UrlValidator();
urlValidator.isValid("http://www.google.com?param1=value1¶m2=value2");
0
query = *(pchar/"/"/"?") pchar = unreserved/pct-encoded/sub-delims/":"/"@" unreserved = ALPHA/DIGIT/"-"/"."/"_"/"~" pct-encoded = "%" HEXDIG HEXDIG sub-delims = "!"/"$"/"&"/"'"/"("/")" /"*"/"+"/","/";"/"="
這使我對下面的正則表達式:
/([@:!$&'()*+,;=/?0-9a-z_~.-]|%[0-9a-f]{2})*/i
或者在Java中:
String query = "name1=value1&name2=value2";
Pattern pattern = Pattern.compile("([@:!$&'()*+,;=/?0-9a-z_~.-]|%[0-9a-f]{2})*",
Pattern.CASE_INSENSITIVE);
System.out.println(pattern.matcher(query).matches());
相關問題
- 1. 有沒有簡單的方法來將語法套管應用於字符串?
- 2. 有沒有簡單的方法將值轉換爲字符串?
- 3. 有沒有簡單的方法來克隆字符串數組?
- 4. Android:有沒有獲得字符串屬性名稱的方法?
- 5. 簡單的檢查/驗證JavaScript語法
- 6. 有沒有簡單的方法來動畫字符串中的特定字符?
- 7. 有沒有一種簡單的方法從Windows Phone中的URI獲取查詢字符串參數?
- 8. 有沒有簡單的方法使用String.toLowerCase()爲9種語言?
- 9. 驗證URL與有效的端口號和查詢字符串
- 10. 有沒有簡單的方法使用curl來運行經過驗證的Google Analytics(分析)查詢?
- 11. 有沒有辦法用查詢字符串填充表單?
- 12. 簡單的方法驗證
- 13. astropy.io.votable - 有沒有簡單的方法來獲得VOTable PARAMeters?
- 14. 有沒有簡單的方法來獲得AspectJ輸出文件?
- 15. 有沒有辦法驗證Salesforce.com的SOQL查詢的語法而不執行它?
- 16. 有沒有比在rails 3中使用查詢字符串更好的方法?
- 17. 驗證字符串有沒有非法字符
- 18. 最簡單的方法來檢查字符串是否爲URL
- 19. 有沒有簡單的方法來連接字符串非文字與文字?
- 20. 沒有得到從簡單的查詢
- 21. 有沒有一種簡單的方法來匹配jQuery驗證3個字段
- 22. 有沒有一種簡單的方法來獲取URL中的URL
- 23. 有沒有辦法用facebook查詢語言獲得推薦?
- 24. Java中有沒有簡單的方法將一個字符串前綴到多個其他字符串?
- 25. 簡單的方法來獲得對Java中的字符串執行Xpath?
- 26. 有沒有一種更簡單的方法來獲得在java中的字符值轉換爲int?
- 27. 的Java:字符串:有沒有更好的方法來比較字符串
- 28. 使用PHP查詢字符串驗證的URL
- 29. PHP的SQL查詢沒有foreach簡單的方法
- 30. 有沒有辦法獲得函數的「文檔字符串」?
你知道你需要驗證什麼類型的URL嗎? –
嗨,只有查詢字符串,例如,當你有:www.something.com?a=b&c=d,查詢字符串只是a = b&c = d,所以,只是想知道一種方式,我在哪裏可以是正確的,它是正確形成的:它不以&或?開頭,它們具有名稱=值對,並且由&分隔。我找到了一些正則表達式,但都沒有滿足所有這些要求。 –
根據規範,查詢字符串以'&'和偶數'?'開頭是有效的。查詢字符串不限於包含由「=」分隔的鍵/值對。看起來你對查詢字符串應該是什麼樣子有自己的定義,所以如果你想有一個適合你的需求的答案,你將不得不在你的問題中指定這個定義。 –