在Codename One中的URL模式匹配,用于验证URL。

问题描述 投票:1回答:1

我的Android应用在打开失败时,会对urls进行一些检查。

现在我正试图将它移植到iOS系统,代号为One。

我的代码如下。请注意,Android代码是插入的,我想有Codename对应的。

Boolean can = Display.getInstance().canExecute(url);
    if(can != null && can) {
        Display.getInstance().execute(url);
    } else {
        boolean validWebUrl =
                Patterns.WEB_URL.matcher(url).matches(); //Android code, won't compile
        if (validWebUrl)
        {
//shows a message about activity/app not available
        else {
//shows a message about the url being not valid
        }
    }

正如你所看到的,在检查之后,用户会被告知结果,如果它是有意义的。 我想正确地告知用户关于:

1-应用程序不可用

2-url无效

其实条件应该是 !validWebUrl,才能正确检测出url是缺失的app,但是有重叠的情况,比如苹果地图深层链接,所以最好是。

Boolean can = Display.getInstance().canExecute(url);
    if(can != null && can) {
        Display.getInstance().execute(url);
    } else {
        ShowMessage("url not valid or app not available");
    }
java validation url pattern-matching codenameone
1个回答
0
投票

这只是一个正则表达式模式检查,你可以使用re类来执行类似的正则表达式检查,但我个人不喜欢regex,尽量选择简单一点的。

String lower = url.toLowerCase();
if(lower.startsWith("http://") || lower.startsWith("https://")) {
}
© www.soinside.com 2019 - 2024. All rights reserved.