utils.js 895 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * @param {string} url
  3. * @returns {Boolean}
  4. */
  5. function validURL(url) {
  6. 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.,?'\\+&%$#=~_-]+))*$/
  7. return reg.test(url)
  8. }
  9. /**
  10. * @param {string} str
  11. * @returns {Boolean}
  12. */
  13. function isString(str) {
  14. if (typeof str === 'string' || str instanceof String) {
  15. return true
  16. }
  17. return false
  18. }
  19. /**
  20. * @param {Array} arg
  21. * @returns {Boolean}
  22. */
  23. function isArray(arg) {
  24. if (typeof Array.isArray === 'undefined') {
  25. return Object.prototype.toString.call(arg) === '[object Array]'
  26. }
  27. return Array.isArray(arg)
  28. }
  29. // 向外暴露接口
  30. module.exports = {
  31. validURL,
  32. isString,
  33. isArray
  34. }