一旦將有效的URL輸入到文本字段中,立即調用函數(myFunction())的最佳方式是什麼?我搜索了一下,但我沒有找到任何有用的東西。使用正則表達式可能是最好的,但我需要一個可以識別各種URL:
http://google.tld,www.google.tld,http://www.google.tld 但仍不認爲像「index.php」這樣的東西是一個URL。有沒有人知道這樣的表達?如果在文本區域中找到有效的URL,調用函數
1
A
回答
0
這將匹配以類似「.com」或「.CH」結尾的網址(你必須保持有效的頂級域名的列表)支持JavaScript的forwardslash不需要逃避
^(http:\/\/)?([\w\.]+\.)((com)|(ch))$
而TLD可能不那麼嚴格,例如只是2-4個字符的東西。
通過CanSpice考慮到這個問題,評論允許具有不同長度頂級域名的想法是難以掩蓋的事件觸發可能太早火。 onchange觸發器上的時間延遲可以解決這類問題。 每個解決方案的精確要求和優缺點應加權。
0
你可能會掙扎了一下因爲會有這麼多不同的可能性。這人會匹配任何URL,它在技術上是有效的HTTP或HTTPS路徑(包括路徑中的任何字符的域名後,任何數量的子域等)
((http)s?(://))?[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*(/(.*))?
,如果你想排除內部網,您可以使用強制TLD如下:
((http)s?(://))?[a-zA-Z0-9\-]+(\.[a-zA-Z0-9]+)*(\.[a-zA-Z0-9]{2,4})+(/(.*))?
0
^((?:HTTPS | FTP):\/\ /)([\ w \。] +)([AZ] {? 2,4})$
支持ftp以及;)
相關問題
- 1. 如何使用JavaScript回調函數在文本區域中檢測URL?
- 2. 的Java:在文本區域單擊文本,並有它調用一個函數
- 3. 如何從文本區域注入JavaScript函數及其調用?
- 4. 如何有效地查找二維數組中的區域?
- 5. jQuery的Val函數從文本區域
- 6. 如何使用jQuery在div下找到一類文本區域?
- 7. regExp從文本區域內容中查找url模式
- 8. wysihtml5文本區域調整
- 9. 如何得到新的換行符,如果有一些在文本區域
- 10. 我如何找到它是使用jQuery的文本框或文本區域?
- 11. 如何在Symfony中調用javascript函數如果表單無效
- 12. 在jQuery中使用.load()插入文本到文本區域
- 13. 如何在Rails中預先填充長文本區域的文本區域?
- 14. Visual Studio中:有區域描述是基於文本的區域
- 15. 將文本區域添加到文本區域?
- 16. 在Oracle數據庫中調用AT TIME ZONE函數時出現無效的時區區域
- 17. 選擇所有文本區域並添加到一個文本區域
- 18. Imacros腳本找到文本,並提示如果沒有找到
- 19. ValueError:在draco.apps.home.models中找不到函數url
- 20. 打印到文本區域
- 21. 追加數據到文本區域
- 22. bash腳本「如果」語句調用帶有參數的函數
- 23. 如何在文本中查找相關區域?
- 24. 如果選中單選按鈕,禁用文本區域?
- 25. 如何在phpstorm中找到所有具有函數的文件?
- 26. 測試在文本區域無效文本格式
- 27. 找不到目標區域:找不到MYWEBSITEURLHERE.com的區域:AccessDenied:
- 28. 文本區域接收輸入值哪個URL並在文本區域顯示URL無代碼(<a href = ...)
- 29. 轉義函數擦除文本字段/區域中的所有數據
- 30. 在文本區域中啓用滾動
請不要把標籤放在t他的頭銜。 – SLaks 2011-02-08 16:30:35
* google.com * vs * index.php *是棘手的,因爲要知道前者是一個URL的唯一方法是在正則表達式本身中有一個有效的頂級域名列表,使其變得緩慢和複雜。隨着新TLD的添加,這樣的清單也需要更新,因此維護成本更高。你應該使`http://`成爲一項要求。 – 2011-02-08 16:33:16