vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
22 lines (20 loc) • 865 B
JavaScript
exports.__esModule = true;
exports.isUrl = isUrl;
// http://urlregex.com/ ==> Ruby
var re = /^(?:(?:https?):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-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,})))(?::\d{2,5})?(?:\/[^\s]*)?$/i;
/**
* 检测传入值是否是 URL。
*
* @public
* @param value 要检测的值
* @returns 返回检测结果
* @example
* ```typescript
* isUrl('foo.bar') // => false
* isUrl('http://foo.bar') // => true
* ```
*/
function isUrl(value) {
return re.test(value);
}
;