validate.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /**
  2. * 判断url是否是http或https
  3. * @param {string} path
  4. * @returns {Boolean}
  5. */
  6. export function isHttp(url) {
  7. return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1
  8. }
  9. /**
  10. * 判断path是否为外链
  11. * @param {string} path
  12. * @returns {Boolean}
  13. */
  14. export function isExternal(path) {
  15. return /^(https?:|mailto:|tel:)/.test(path)
  16. }
  17. /**
  18. * @param {string} str
  19. * @returns {Boolean}
  20. */
  21. export function validUsername(str) {
  22. const valid_map = ['admin', 'editor']
  23. return valid_map.indexOf(str.trim()) >= 0
  24. }
  25. /**
  26. * @param {string} url
  27. * @returns {Boolean}
  28. */
  29. export function validURL(url) {
  30. 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.,?'\\+&%$#=~_-]+))*$/
  31. return reg.test(url)
  32. }
  33. /**
  34. * @param {string} str
  35. * @returns {Boolean}
  36. */
  37. export function validLowerCase(str) {
  38. const reg = /^[a-z]+$/
  39. return reg.test(str)
  40. }
  41. /**
  42. * @param {string} str
  43. * @returns {Boolean}
  44. */
  45. export function validUpperCase(str) {
  46. const reg = /^[A-Z]+$/
  47. return reg.test(str)
  48. }
  49. /**
  50. * @param {string} str
  51. * @returns {Boolean}
  52. */
  53. export function validAlphabets(str) {
  54. const reg = /^[A-Za-z]+$/
  55. return reg.test(str)
  56. }
  57. /**
  58. * @param {string} email
  59. * @returns {Boolean}
  60. */
  61. export function validEmail(email) {
  62. 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,}))$/
  63. return reg.test(email)
  64. }
  65. /**
  66. * @param {string} str
  67. * @returns {Boolean}
  68. */
  69. export function isString(str) {
  70. if (typeof str === 'string' || str instanceof String) {
  71. return true
  72. }
  73. return false
  74. }
  75. /**
  76. * @param {Array} arg
  77. * @returns {Boolean}
  78. */
  79. export function isArray(arg) {
  80. if (typeof Array.isArray === 'undefined') {
  81. return Object.prototype.toString.call(arg) === '[object Array]'
  82. }
  83. return Array.isArray(arg)
  84. }