我已經在一個項目上工作,在這個項目中,我需要檢查用戶輸入是否是有效的URL。驗證URL PHP
我已經爲一個URL上使用的所有可能的字符做了preg_match。但是,如果HTTP:///HTTPS://不在URL前面,我試圖讓它顯示一個錯誤。
這是我所做的。
if(preg_match('/[^0-9a-zA-Z.\-\/:?&=#%_]/', $url) || substr($url, 0, 7) != "http://" || substr($url, 0, 8) != "https://") {
但這不起作用。它不斷給我一個確定的信息。我不確定我在這裏做錯了什麼,我希望我能得到一些幫助!
if語句將返回true或false。所以
if(preg_match('/[^0-9a-zA-Z.\-\/:?&=#%_]/', $url) || substr($url, 0, 7) != "http://" || substr($url, 0, 8) != "https://") {
echo "true";
} else {
echo "false";
}
我只需要檢查,如果url已輸入一個有效的網址。我不需要驗證它。只需要檢查它是否具有HTTP://或HTTPS://並且包含有效的URL字符。
這是否被評估爲真或假?您沒有明確說明if是否顯示OK消息或錯誤消息。 – BlargleMonster
[PHP驗證/正則表達式的URL]的可能重複(http://stackoverflow.com/questions/206059/php-validation-regex-for-url) –
請不要破壞你自己的帖子。 – NathanOliver