如何使用javascript回调函数检测文本区域中的URL?

Joh*_*Doe 4 javascript url jquery facebook callback

如何使用JavaScript检测文本区域中的URL?使用Facebook,你可以添加一个网址,它会在你完成粘贴/输入后立即检测到地址.如何才能做到这一点?我已经对回调函数等进行了大量研究,但我想知道如何检测实际的url?

dmc*_*lis 9

如果您使用的是jQuery,最简单的方法是使用$ .change().

假设您有一个表单字段:

<input id="myField" type="text"/>
Run Code Online (Sandbox Code Playgroud)

现在,您可以将更改事件绑定到它,同时查明它是否是有效的URL:

$('#myField').keyup(function() {
    if(isUrl($(this).val()){
       //Show the url in an alert box
       alert($(this).val());
    }else{
       //do something if its not a url
    }
});
Run Code Online (Sandbox Code Playgroud)

然后你将有一个函数来检查一个url并返回一个布尔值.注意,我从这里拿走了这个

function isUrl(s) {
    var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
    return regexp.test(s);
}
Run Code Online (Sandbox Code Playgroud)

免责声明:我没有测试任何JavaScript,但这应该让你很好地了解如何实现这一目标.