Sub IsUrl (s As String) As Boolean
Return Regex.IsMatch("https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)", s)
End Sub
So many regexp variants on the internet, and each does not cover something...
I have made for me:
B4X:
Sub IsUrl (s As String) As Boolean
If s.Trim = "" Then Return False
If s.Length < 9 Then Return False
If s.ToLowerCase.StartsWith("http") = False Then Return False 'update as needed for you
If s.Contains(".") = False Then Return False
If s.Contains(":/") = False Then Return False
If s.Contains("//") = False Then Return False
Return True
End Sub