如何判断字符串是否为有效URL?
例如:
http://hello.it => yes
http:||bra.ziz, => no
如果这是一个有效的URL,我如何判断它是否与图像文件有关?
如何判断字符串是否为有效URL?
例如:
http://hello.it => yes
http:||bra.ziz, => no
如果这是一个有效的URL,我如何判断它是否与图像文件有关?
正如@CGuess所指出的,这个问题有一个bug,并且已经记录了9年多,因为验证不是这个正则表达式的目的(参见https://bugs.ruby-lang.org/issues/6520).
使用Ruby分发的URI
模块:
require 'uri'
if url =~ URI::regexp
# Correct URL
end
就像Alexander Günther在 comments 中说的那样,它会判断字符串contains是否是URL.
要判断字符串是否为URL,请使用:
url =~ /\A#{URI::regexp}\z/
如果您只想判断web URL(http
或https
),请使用以下选项:
url =~ /\A#{URI::regexp(['http', 'https'])}\z/