UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

22 lines (20 loc) 865 B
"use strict"; 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); }