繁体   English   中英

我的搜索“功能”不起作用

[英]My search “function” does not work

 var cat = prompt("What Do You Want To Tweet??!");

 if(cat.length >= 140)
{
confirm("Sorry but your Tweet was over the 140 character limit by: " + (cat.length - 140));
confirm("You need to resubmit a Tweet that is not over the 140 Character limit");
}
else{
confirm("Success, Your Tweet has been posted!");
}
//scan for websites

if (cat.search(" www ", " http ", ".com"))
{

}
else{
confirm("We have Detected a URL in your Tweet");   
}

在尝试“推”网站之前,我的代码一直有效。 如果我输入www或.com作为推文,它将告诉我它检测到一个很好的URL。 但是,当我输入xxxxxx www xxxxxx(x代表其他名称)时,它不会检测到该网址。

您可以使用jQuery进行更准确的搜索。 '.inArray()'函数应该可以解决问题。

http://api.jquery.com/jquery.inarray/

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>jQuery.inArray demo</title>
    <style>
        div {
            color: blue;
        }
        span {
            color: red;
        }
    </style>
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
    <div>"John" found at <span></span></div>
    <div>4 found at <span></span></div>
    <div>"Karl" not found, so <span></span></div>
    <div>"Pete" is in the array, but not at or after index 2, so <span></span></div>
    <script>
        var arr = [ 4, "Pete", 8, "John" ];
        var $spans = $( "span" );
        $spans.eq( 0 ).text( jQuery.inArray( "John", arr ) );
        $spans.eq( 1 ).text( jQuery.inArray( 4, arr ) );
        $spans.eq( 2 ).text( jQuery.inArray( "Karl", arr ) );
        $spans.eq( 3 ).text( jQuery.inArray( "Pete", arr, 2 ) );
    </script>
</body>
</html>

您可以尝试使用正则表达式

var cat = prompt("What Do You Want To Tweet??!"),
    expression = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi,
    regex = new RegExp(expression);
if(cat.length >= 140) {
    confirm("Sorry but your Tweet was over the 140 character limit by: " + (cat.length - 140));
    confirm("You need to resubmit a Tweet that is not over the 140 Character limit");
}
else{
    confirm("Success, Your Tweet has been posted!");
}
//scan for websites

if (cat.match(regex)) {
    confirm("We have dectected a URL in your Tweet");
}
else{
   confirm("no URL");   
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM