Ruby正則表達(dá)式怎樣驗(yàn)證網(wǎng)址

小樊
81
2024-11-06 03:31:34

在Ruby中,你可以使用URI.regexp方法來(lái)驗(yàn)證一個(gè)字符串是否是一個(gè)有效的網(wǎng)址。這是一個(gè)預(yù)定義的正則表達(dá)式,用于匹配常見(jiàn)的網(wǎng)址格式。下面是一個(gè)示例:

require 'uri'

def valid_url?(url)
  uri = URI.parse(url)
  uri.is_a?(URI::HTTP) || uri.is_a?(URI::HTTPS)
rescue URI::InvalidURIError
  false
end

# 測(cè)試
puts valid_url?("https://www.example.com") # 輸出: true
puts valid_url?("ftp://www.example.com")  # 輸出: false
puts valid_url?("http://www.example")     # 輸出: false
puts valid_url?("www.example.com")      # 輸出: false

這個(gè)valid_url?方法嘗試解析輸入的URL,如果解析成功并且是一個(gè)HTTP或HTTPS類型的URI,那么返回true,否則返回false。請(qǐng)注意,這個(gè)方法不會(huì)驗(yàn)證URL的實(shí)際可用性,只會(huì)檢查其格式是否正確。

0