2011-07-23 28 views

回答

9

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

假设你有一个表单域:

<input id="myField" type="text"/> 

现在,您可以扎一个改变事件给它,并在同一时间看看它是一个有效的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 
    } 
}); 

然后你会有一个函数检查url并返回一个布尔值。请注意,我把这个从here

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

免责声明:我没有测试过任何的JavaScript的,但是这应该给你的,你怎么能做到这一点是一个好主意。

+0

什么代表实际的网址?例如,如果我想要提醒一下,我会说什么? 'alert(\\ WHAT HERE?\\);' –

+0

不对此使用onchange事件......它只会在模糊字段(离开它)或发送表单时触发。使用onkeyup(请参阅前面的答案) – TMS

3

只要处理onkeyup或类似事件,然后搜索与正则表达式匹配的textarea的值。没有特殊的回调来捕捉像“用户在textarea中编写链接”这样的事件:-)因此,您必须捕捉现有事件并自行处理。

+0

onkeyup会更好。这样,如果他们键入example.com,当最后的'm'键被释放时,你可以捕捉到,而不是当按下下一个键时。 – Sid

+0

好的,谢谢。为什么有人下降?为人们编写代码是我们的工作吗?我想提示可能就够了。 – TMS

+0

我根据你的评论更新了答案,谢谢。 – TMS

相关问题