| | |
| | | /** |
| | | * 路径匹配器 |
| | | * @param {string} pattern |
| | | * @param {string} path |
| | | * @returns {Boolean} |
| | | */ |
| | | export function isPathMatch(pattern: string, path: string) { |
| | | const regexPattern = pattern |
| | | .replace(/\//g, '\\/') |
| | | .replace(/\*\*/g, '__DOUBLE_STAR__') |
| | | .replace(/\*/g, '[^\\/]*') |
| | | .replace(/__DOUBLE_STAR__/g, '.*'); |
| | | const regex = new RegExp(`^${regexPattern}$`); |
| | | return regex.test(path); |
| | | } |
| | | |
| | | /** |
| | | * 判断url是否是http或https |
| | | * @returns {Boolean} |
| | | * @param url |
| | | */ |
| | | export const isHttp = (url: string): boolean => { |
| | | return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1; |
| | | return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1; |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const isExternal = (path: string) => { |
| | | return /^(https?:|mailto:|tel:)/.test(path); |
| | | return /^(https?:|mailto:|tel:)/.test(path); |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const validUsername = (str: string) => { |
| | | const valid_map = ['admin', 'editor']; |
| | | return valid_map.indexOf(str.trim()) >= 0; |
| | | const valid_map = ['admin', 'editor']; |
| | | return valid_map.indexOf(str.trim()) >= 0; |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const validURL = (url: string) => { |
| | | const reg = |
| | | /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/; |
| | | return reg.test(url); |
| | | const reg = |
| | | /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/; |
| | | return reg.test(url); |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const validLowerCase = (str: string) => { |
| | | const reg = /^[a-z]+$/; |
| | | return reg.test(str); |
| | | const reg = /^[a-z]+$/; |
| | | return reg.test(str); |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const validUpperCase = (str: string) => { |
| | | const reg = /^[A-Z]+$/; |
| | | return reg.test(str); |
| | | const reg = /^[A-Z]+$/; |
| | | return reg.test(str); |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const validAlphabets = (str: string) => { |
| | | const reg = /^[A-Za-z]+$/; |
| | | return reg.test(str); |
| | | const reg = /^[A-Za-z]+$/; |
| | | return reg.test(str); |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const validEmail = (email: string) => { |
| | | const reg = |
| | | /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; |
| | | return reg.test(email); |
| | | const reg = |
| | | /^(([^<>()\]\\.,;:\s@"]+(\.[^<>()\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; |
| | | return reg.test(email); |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const isString = (str: any) => { |
| | | return typeof str === 'string' || str instanceof String; |
| | | return typeof str === 'string' || str instanceof String; |
| | | }; |
| | | |
| | | /** |
| | |
| | | * @returns {Boolean} |
| | | */ |
| | | export const isArray = (arg: string | string[]) => { |
| | | if (typeof Array.isArray === 'undefined') { |
| | | return Object.prototype.toString.call(arg) === '[object Array]'; |
| | | } |
| | | return Array.isArray(arg); |
| | | if (typeof Array.isArray === 'undefined') { |
| | | return Object.prototype.toString.call(arg) === '[object Array]'; |
| | | } |
| | | return Array.isArray(arg); |
| | | }; |