gpt4 book ai didi

Javascript:检查 url 是否有效且以 "http//"或 "https://"开头

转载 作者:行者123 更新时间:2023-12-01 01:10:50 24 4
gpt4 key购买 nike

我想测试我的网址有效性,应以 http://https:// 开头,

我用过这个RegExp:

private testIfValidURL(str) {
const pattern = new RegExp('^(https?:\\/\\/)?' + // protocol
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name
'((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path
'(\\?[;&a-z\\d%_.~+=-]*)?' + // query string
'(\\#[-a-z\\d_]*)?$', 'i'); // fragment locator
return !!pattern.test(str);
}

这可行,除了一种情况:

要将其视为有效,我的网址应始终以 http:// 开头 或 https:// ,但使用我的函数,像 www.abcd.com 这样的网址将被视为有效网址,这对我来说还不够。

建议?

最佳答案

只需将 ^(https?:\\/\\/)?' 更改为 ^(https?:\\/\\/)'? 表示您想要匹配某个模式的零次或一次出现。您实际上只想要一次出现,所以不要使用 ? :)

来自regular-expressions :

? - Makes the preceding item optional. Greedy, so the optional item is included in the match if possible.

关于Javascript:检查 url 是否有效且以 "http//"或 "https://"开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55162799/

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