我正在使用正則表達式來嘗試和驗證URL的。正則表達式我工作得很好,但唯一的問題是,它驗證URL的,即使前面沒有http://
。我想,如果URL中的前面有http://
(即使它不包含之後立即WWW)正則表達式:在此表達式的前面需要「http://」
這是我使用正則表達式它只驗證:
((https?)\:\/\/)?([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)[email protected])?([a-z0-9-.]*)\.([a-z]{2,3})(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?
自己不驗證的URL。無論你在寫什麼語言,無疑都有已經被編寫,測試和調試的代碼。你在用什麼語言? –
PHP,我已經使用了'filter_var('http://example.com',FILTER_VALIDATE_URL)',但它驗證了諸如「http:// example.c」和「http:// example.comxx」這樣的URL不驗證。你會建議什麼原生的PHP函數? – Xecure
你爲什麼認爲這兩個不應該驗證? –