将“http://”从粘贴的文本中删除到文本框中

时间:2010-07-29 14:45:07

标签: javascript jquery

对于Javascript / jQuery,我是一个新手,所以希望你能帮助我。

我有一个文本框,大多数人都会将链接粘贴到其中。有没有一种很好的方法让文本框检测到链接已被粘贴(以http://开头),然后在文本框中动态删除协议,而不必在事后按下按钮?

3 个答案:

答案 0 :(得分:2)

您可以使用string.replace(),基本的JavaScript,它实际上接受正则表达式,因此string.replace(/^http:\/\//,"")就足够了。

答案 1 :(得分:2)

假设您希望在用户输入/粘贴它时立即将其删除:

让我们说,为了论证你已经给文本输入了id“url”:

$(document).ready(function(){

  var timer;

  $("#url").live("keyup",function(){
       clearTimeout(timer);

       timer = setTimeout(function(){
           var textbox = $("#url");
           if (textbox.val().indexOf("https://") == 0)
               textbox.val(textbox.val().substring(8));
           if (textbox.val().indexOf("http://") == 0)
               textbox.val(textbox.val().substring(7));
       },500);
   });
});​

正如@Marcel Korpel在评论中提到的,现在应该照顾你想要的东西。

答案 2 :(得分:2)

这将检查以确保它以http://开头,然后替换它。

$(document).ready(
    function()
    {
       $("#url").change(
           function()
           {
               var textbox = $(this);
               if (textbox.val().indexOf("http://") == 0)
                   textbox.val(textbox.val().substring(7));
           });
    });​

这里还有一个工作示例: http://jsfiddle.net/epwDA/4/