0

我正在为手机制作一个浏览器应用程序,它需要 URL 并浏览它,它工作正常。现在我想在执行任何操作之前对用户输入的文本进行检查。

第一优先:URL 检查,是否格式正确。

第二优先级:如果它不是 URL,那么它应该使用相同的关键字进行谷歌搜索。

我对 URL 进行了验证,无论它是 null 还是空白。但我想执行上述任务,如果它不是 URL,我会将其重定向到 Google 搜索。

谁能帮助如何使用 JQuery Mobile 检查 URL?

这是我的代码:

<script type="text/javascript" charset="utf-8">

    document.addEventListener('deviceready',onDeviceReady, false);

    function onDeviceReady() {
        navigator.notification.prompt(
            'Please enter the URL you want to browse', //massage
            onPrompt,   // callback to invoke
            'URL',      // title
            ['Ok','Exit']   //buttonLabels
        );
    }

    var ref=null;

    function onPrompt(results){
        if(results.input1==""||results.input1==null)
            onDeviceReady();
        else
            ref = window.open('http://'+results.input1, '_blank', 'location=yes');

        ref.addEventListener('loadstart', iLoadStart);
        ref.addEventListener('loadstop', iLoadStop);
        ref.addEventListener('loaderror', iLoadError);
        ref.addEventListener('exit', iLoadClose);
    }
</script>

谢谢!:)

4

1 回答 1

0

您可以使用正则表达式来测试results.input1.

var urlregex = new RegExp("URL test regex");
if(urlregex.test(results.input1)) {
    // Go to URL
}
else
{
    // Google Search
}

(我的 Javascript 有点生疏,不确定是否可以编译)

根据这个正则表达式库,这是一个很好的 URL 正则表达式:

(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?
于 2013-05-16T09:35:50.007 回答