目前我有一个输入框,它将检测 URL 并解析数据。
所以现在,我正在使用:
var urlR = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)
(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;
var url= content.match(urlR);
问题是,当我输入像 www.google.com
这样的 URL 时,它不起作用。当我输入 http://www.google.com
时,它正在工作。
我对正则表达式不是很流利。谁能帮我?
原文由 bigbob 发布,翻译遵循 CC BY-SA 4.0 许可协议
正则表达式,如果你想确保 URL 以 HTTP/HTTPS 开头:
如果不需要 HTTP 协议:
要尝试此操作,请参阅 http://regexr.com?37i6s ,或访问限制较少的版本 http://regexr.com/3e6m0 。
示例 JavaScript 实现: