jQuery-使用jQuery从文本中检测并获取URL

最大疼痛

我有textarea,我想检测用户何时完成TYPINGPASTING输入网址。我想捕获该URL并将其发送到php。

我看了很多来自google的解决方案,但是它们似乎都在我不想做的链接周围添加了一个定位标记。

我尝试使用在此网站的解决方案中找到的此正则表达式,但无法正常工作:

/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/

它的问题是,一旦我输入类似的内容http://,它将仅自动发送该字符串。

我不想用有限的TLD列表编写一个正则表达式。我可以通过哪些方式对此进行存档?

这是代码:

$(document).ready(function() {
    $('#write-post-textarea').keyup(function() {    
        if(isUrl($(this).val())){
           //Show the url in an alert box
           alert($(this).val());
        }else{
           //do something if its not a url
        }
    });     
    function isUrl(s) {
        //var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
        return regexp.test(s);
    }    
});
irfanmcsd

将keyup事件与键码验证一起使用,以确保在开始验证之前按下回车键或空格键。

$("#write-post-textarea").keyup(function (e) {
    if (e.which == 13 || e.which == 32) { // 32 may be for space bar click
        if(isUrl($(this).val())){
          //Show the url in an alert box
          alert($(this).val());
        }else{
          //do something if its not a url
        }
     }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章