什麼是健壯的方式(不必是正則表達式,是嗎?)驗證一個URI在Android上僅使用JavaScript工作?JavaScript中的URI驗證
也就是說,檢查是不是在Java中對Android SDK端完成;它在使用JavaScript的網頁中完成。
編輯:由「Android上的作品」,我指的是Android的可以發現,使用URI響應的意圖的活動。
什麼是健壯的方式(不必是正則表達式,是嗎?)驗證一個URI在Android上僅使用JavaScript工作?JavaScript中的URI驗證
也就是說,檢查是不是在Java中對Android SDK端完成;它在使用JavaScript的網頁中完成。
編輯:由「Android上的作品」,我指的是Android的可以發現,使用URI響應的意圖的活動。
JavaScript是從來沒有一樣強大後臺,但有很多關像樣的正則表達式的周圍。
這是覆蓋在這裏另一篇文章Trying to Validate URL Using JavaScript
最好的答案,我認爲是低於
有人提到jQuery驗證插件,似乎矯枉過正,如果你只是想驗證URL,這裏是線從插件的正則表達式:
return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
一咕d正則表達式的URI(它是URL的超集)肯定是https://github.com/jhermsmeier/uri.regex。不幸的是,它還沒有涵蓋所有類型的URI。但是,它可以在Chrome中運行。
一個更簡單的版本可在http://jmrware.com/articles/2009/uri_regexp/URI_regex.html。 由於多行,我不能在這裏包括它。
這裏一步一步發展使用JUnit測試案例:http://timezra.blogspot.de/2010/05/regex-to-validate-uris.html 這並不在這裏工作「無效的正則表達式:無效的團」在JavaScript
URI驗證是從來沒有強勁。 – jbabey 2012-07-17 18:05:06
這正是我想知道的。我以爲我只是瘋了。謝謝! – 2012-07-17 18:14:22
如果您不介意,我想將您的評論標記爲答案。 ;) – 2012-07-17 18:14:48