用於匹配URL 的改進正則表達式
嘗試從用戶輸入中檢測和解析URL 時,使用有效的正則表達式至關重要。就您而言,雖然您目前的表達式捕獲了某些網址格式,但它無法考慮缺乏明確協議方案的網址,例如 www.google.com。
修訂的正則表達式
要解決此問題並確保全面的URL 匹配,請考慮使用以下修訂後的正則表達式:
^(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
正規表示式剖析
這個修改後的正規表示式是限制較少,將成功匹配www.google.com 等網址以及具有顯式協議的網址(例如http://www.stackoverflow.com) 。
範例實作(JavaScript)
const regex = new RegExp(/(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)g); const url = 'www.google.com'; if (url.match(regex)) { console.log("URL successfully matched."); } else { console.log("URL did not match."); }
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3