gpt4 book ai didi

javascript - Jquery - 使用 jquery 从文本中检测并获取 url

转载 作者:行者123 更新时间:2023-12-03 12:07:54 25 4
gpt4 key购买 nike

我有文本区域,我想检测用户何时完成打字粘贴网址。我想捕获该 url 并将其发送到 php。

我查看了谷歌的许多解决方案,但它们似乎都在链接周围添加了我不想做的 anchor 标记。

我尝试使用我在该网站的解决方案中找到的正则表达式,但它不起作用:

/(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);
}
});

最佳答案

使用 keyup 事件和键码验证来确保在开始验证之前按下 Enter 或空格按钮。

$("#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
}
}
});

关于javascript - Jquery - 使用 jquery 从文本中检测并获取 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25101953/

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