问题描述
我正在使用此代码进行 URL验证。
def url?(string)
uri = URI.parse(string)
!uri.host.nil?
rescue URI::BadURIError
false
rescue URI::InvalidURIError
false
end
这可行,但我也想验证电子邮件链接和电话号码链接。
例如
mailto:test@gmail.com
tel:1234567890
我不想包含电子邮件验证和电话号码验证。
有人可以帮助我吗?
解决方法
您在寻找这个吗?
def url?(string)
uri = URI.parse(string)
throw "MailToError" if uri.scheme == 'mailto'
throw "TelError" if uri.scheme == 'tel'
!uri.host.nil?
rescue URI::BadURIError
false
rescue URI::InvalidURIError
false
rescue => e
!(e.to_s.include?("TelError") || e.to_s.include?("MailToError"))
end