【懒人精灵】判断字符串是否为网址

方法1

-- 判断字符串是否为网址
-- @param url: 要检查的字符串
-- @return: 如果是网址,返回 true,否则返回 false
function isValidURL(url)
    -- 正则表达式匹配网址格式(http:// 或 https:// 开头,后面跟有域名和路径)
    local pattern = "^https?://[%w-_%.%?%.:/%+=&]+$"

    -- 使用 string.match 判断字符串是否符合该模式
    if string.match(url, pattern) then
        return true
    else
        return false
    end
end

函数 isValidURL(url):接受一个字符串 url,检查它是否符合网址格式。
正则表达式 ^https?://[%w-_%.%?%.:/%+=&]+$:用于匹配网址的常见格式。它包括:
https?:匹配 http 或 https。
://:必须有 ://。
[%w-_%.%?%.:/%+=&]+:允许网址中包括字母、数字、连字符、点、斜杠、问号、等号、加号和和号等常见符号。
string.match(url, pattern):返回匹配成功的部分,如果匹配失败返回 nil。
通过这个函数,你可以方便地判断一个字符串是否为有效的网址。

方法2

这个函数首先检查字符串是否以常见协议 (如 http、https、ftp) 开头,然后验证域名部分的格式,最后检查路径中是否包含非法字符。你可以直接使用这个函数来判断一个字符串是否是有效的网址。

-- 判断字符串是否为网址
-- @param url 待检查的字符串
-- @return 如果是网址返回true,否则返回false
function isUrl(url)
    if type(url) ~= "string" then
        return false
    end

    -- 检查是否以常见协议开头
    local protocolPattern = "^(https?|ftp)://"
    if not string.match(url, protocolPattern) then
        return false
    end

    -- 检查域名部分 (至少包含一个点,但不能在开头或结尾)
    local domainPattern = "://([^/:%s]+)"
    local domain = string.match(url, domainPattern)
    if not domain then
        return false
    end

    -- 域名至少需要包含一个点,并且不能以点开头或结尾
    if string.find(domain, "%.") == nil then
        return false
    end
    if string.sub(domain, 1, 1) == "." or string.sub(domain, -1) == "." then
        return false
    end

    -- 检查路径部分是否包含非法字符
    local pathPattern = "://[^/]*(/.*)$"
    local path = string.match(url, pathPattern)
    if path then
        -- 检查是否包含非法字符
        if string.find(path, "[\"<>%s]") then
            return false
        end
    end

    return true
end
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】判断字符串是否为网址

企业级大数据智能营销管理系统

了解详情