gpt4 book ai didi

javascript - jQuery - 检查输入内容是否包含 keyup 上的 url

转载 作者:行者123 更新时间:2023-11-29 20:17:54 25 4
gpt4 key购买 nike

当用户手动键入内容、粘贴链接或两者结合时,我正在尝试检查输入是否包含 URL。我想在第一次检测发生时获取 URL 的内容(类似于 Facebook)。

到目前为止,我有以下内容:

$('#message').keyup(function() {

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

var match = exp.exec(this.value);
alert(match[0]);
$(this).unbind();
return;
}
});

$("#message").bind('paste', function(e) { $("#message").trigger('keyup'); });

当粘贴链接时,当输入内容然后粘贴时,此行为正常,但当手动输入 url 时

如果我输入“http://www.stackoverflow.com”,则会在“http://w”之后触发匹配。

编写此行为的更智能方式是什么?

编辑:只是想到了一些事情 - 针对用户最后键入的前后有空格的内容测试正则表达式怎么样?

谢谢,

最佳答案

虽然在“粘贴”时获取页面是一个不错的选择,但我真的不确定是否要在用户键入页面时获取页面。用户可能正在键入一个长 URL,其中包含确定要呈现哪个页面的某些查询字符串参数。理想情况下,您希望用户在开始发送 HTTP 请求之前完成整个内容的输入,否则您将获取用户不想(或不需要!)看到的各种中间页面。例如

www.facebook.com

显然会获取主页

www.facebook.com/britishpcrepairs

将获取 Facebook 上特定群组的页面,这可能是您的用户想要看到的页面。所以获取主页并不是真正需要的,并且会造成不必要的困惑。

我觉得应该

  1. 在“粘贴”时立即获取页面
  2. 在记录按键并且没有粘贴发生后获取模糊页面或者在记录按键并且没有粘贴发生后一定时间后(比如 2 秒)获取页面

关于javascript - jQuery - 检查输入内容是否包含 keyup 上的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5598020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com