javascript - 如何从 textarea 值中提取 url
问题描述
我有一个 textarea 我如何能够从该 textarea 值中提取 url。url 可以是随机的多个 url。我正在尝试使用下面的方法,但我在使用这种方法时遇到了以下问题 -
- 如果我添加多个新行(shift+enter),则正则表达式不起作用。例如:两个或三个新行。
- 如果我添加像1. https://www.google.com, 2. https://www.facebook.com这样的 url,那么它不会提取 url。
- 如果我在写了一些文字后添加了网址,例如:(此处为新文字https://www.google.com)
- 如果我在连字符后添加 url 例如:(此处为新文本 - https://www.google.com)
问题 - 如何以这样的格式从 textarea 值中提取 url
["https://www.google.com","https://www.facebook.com","http://www.test.co","http://www.news.co.in" ,]
urlChecker(value : string){
let urlRegex= new RegExp("([a-zA-Z0-9]+://)?([a-zA-Z0-9_]+:[a-zA-Z0-9_]+@)?([a-zA-Z0-9.-]+\\.[A-Za-z]{2,4})(:[0-9]+)?([^ ])+");
let urlWithinText : string = '';
let urls : Array<string> = [];
if (value != '' && urlRegex.test(value)){
let matchedIfUrl = urlRegex.exec(value);
if(matchedIfUrl != null && matchedIfUrl != undefined){
urlWithinText = matchedIfUrl[0].replace(/^(\s*)|(\s*)$/g, '').replace(/\s+/g, ',')
urls = urlWithinText.split(',');
console.log(urlWithinText);
}
}
}
解决方案
推荐阅读
- nginx - 如何使用 Nginx 自定义注解
- winapi - 防止 MS Windows 在辅助显示器上绘图
- javascript - 在 React 中使用 Hooks 获取单选按钮的值
- python - 将 venv 外观添加到 conda env
- visual-studio-code - 在vscode的pio中获取当前项目平台工具链的shell
- java - 访问经过身份验证的 Google Cloud Function 时收到 401
- r - 如何在 R 的这个地块中订购我的月份(1 月到 12 月)?将几个月转换为因子给了我数千个 NA
- javascript - 如何使用javascript将整数舍入为可被5整除的更大数字?
- sql - 如何在 DB2 SQL 中创建一个列,给出在给定行时间戳之前 5 分钟内所有行的总和?
- javascript - 全屏覆盖菜单切换