Javascript 条状;http://quot;从粘贴的文本到文本框

Javascript 条状;http://quot;从粘贴的文本到文本框,javascript,jquery,Javascript,Jquery,对于Javascript/jQuery,我完全是个新手,希望您能帮助我 我有一个文本框,大多数人都会在其中粘贴链接。文本框是否有一种很好的方法来检测已粘贴的链接(从http://开始),然后在文本框中动态删除协议,而不必按下按钮或之后按下按钮?您可以使用string.replace(),基本JavaScript确实,它实际上接受一个regex sostring.replace(/^http:\/\/,“”)就足够了。假设您希望在用户键入/粘贴后立即将其剥离: 让我们假设您为文本输入提供了id“u

对于Javascript/jQuery,我完全是个新手,希望您能帮助我


我有一个文本框,大多数人都会在其中粘贴链接。文本框是否有一种很好的方法来检测已粘贴的链接(从http://开始),然后在文本框中动态删除协议,而不必按下按钮或之后按下按钮?

您可以使用
string.replace()
,基本JavaScript确实,它实际上接受一个regex so
string.replace(/^http:\/\/,“”)
就足够了。

假设您希望在用户键入/粘贴后立即将其剥离:

让我们假设您为文本输入提供了id“url”:


正如@Marcel Korpel在评论中提到的,现在应该可以满足您的需要了。

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

$(document).ready(
    function()
    {
       $("#url").change(
           function()
           {
               var textbox = $(this);
               if (textbox.val().indexOf("http://") == 0)
                   textbox.val(textbox.val().substring(7));
           });
    });​
这里还有一个可以查看的工作示例:

您希望它在键入/粘贴“http://”后立即删除还是在提交表单时立即删除?如果有人粘贴
https
链接会发生什么情况?您也可以将此
onkeypress
与计时器结合使用(例如)1秒,因此在最后一个键按下后1秒,表单字段会发生变化)是的,我在它的中间看到了带有代码的> URP:http://< /COD>,当使用一个站点作为某种代理(从另一个有订阅的IP地址访问站点时);例如:<代码>https://www.example.com/access/http://hiddensite.org)@Marcel:请看我上面修改的帖子,让我知道这是否有效。我将延迟设置为半秒,而不是一整秒,但这很容易改变。这一点,尽管我不确定这是否适用于OP的实际问题;),因为它会剥离协议,而不管它是
http:
还是
https:
,使多个站点不可访问(在输出中重新连接
http:
时)。经过一些轻微的修改,效果非常好。非常感谢。添加了regex版本,这应该是我想的。谢谢!虽然不如Ryan的解决方案那么好,但这也是一种魅力。当我可以的时候,我会把这个答案标记为有用的(显然我对这个网站还太陌生了,还不能这么做…),谢谢你给我关于jfiddle的提示
$(document).ready(
    function()
    {
       $("#url").change(
           function()
           {
               var textbox = $(this);
               if (textbox.val().indexOf("http://") == 0)
                   textbox.val(textbox.val().substring(7));
           });
    });​