gpt4 book ai didi

elixir - 如何验证 Elixir 中的网址?

转载 作者:行者123 更新时间:2023-12-04 14:36:12 24 4
gpt4 key购买 nike

我想验证 uris,如:

http://vk.com
http://semantic-ui.com/collections/menu.html
https://translate.yandex.ru/?text=poll&lang=en-ru

并不是
www.vk.com
abdeeej
http://vk

但还没有找到任何 native 代码实现包。

我怎样才能做到这一点?

最佳答案

根据规范,所有这些都是技术上有效的 URL,所以 URI.parse/1返回 %URI{}结构体,但如果你想拒绝没有 scheme 的域和 host 中的一个点, 你可以做:

valid? = fn url ->
uri = URI.parse(url)
uri.scheme != nil && uri.host =~ "."
end

测试:
urls = [
"http://vk.com",
"http://semantic-ui.com/collections/menu.html",
"https://translate.yandex.ru/?text=poll&lang=en-ru",
"www.vk.com",
"abdeeej",
"http://vk"
]

urls |> Enum.map(valid?) |> IO.inspect

输出:
[true, true, true, false, false, false]

关于elixir - 如何验证 Elixir 中的网址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39041335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com