什么是匹配URL的好正则表达式?目前,我有一个输入框,它将检测URL并解析数据。所以现在,我用的是:var urlR = /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)
(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;var url= content.match(urlR);问题是,当我输入一个URL时www.google.com它不起作用。当我进来的时候http://www.google.com它起作用了。我的正则表达式不是很流利。有谁可以帮我?
3 回答
白板的微信
TA贡献1883条经验 获得超3个赞
function isURL(str) { var urlRegex = '^(?!mailto:)(?:(?:http|https|ftp)://) (?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2} (?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+) (?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost) (?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$'; var url = new RegExp(urlRegex, 'i'); return str.length < 2083 && url.test(str);}
添加回答
举报
0/150
提交
取消