validate.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. /**
  2. * @param {string} path
  3. * @returns {Boolean}
  4. */
  5. export function isExternal(path) {
  6. return /^(https?:|mailto:|tel:)/.test(path)
  7. }
  8. /**
  9. * @param {string} str
  10. * @returns {Boolean}
  11. */
  12. export function validUsername(str) {
  13. const valid_map = ['admin', 'editor']
  14. return valid_map.indexOf(str.trim()) >= 0
  15. }
  16. /**
  17. * @param {string} url
  18. * @returns {Boolean}
  19. */
  20. export function validURL(url) {
  21. 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.,?'\\+&%$#=~_-]+))*$/
  22. return reg.test(url)
  23. }
  24. /**
  25. * @param {string} str
  26. * @returns {Boolean}
  27. */
  28. export function validLowerCase(str) {
  29. const reg = /^[a-z]+$/
  30. return reg.test(str)
  31. }
  32. /**
  33. * @param {string} str
  34. * @returns {Boolean}
  35. */
  36. export function validUpperCase(str) {
  37. const reg = /^[A-Z]+$/
  38. return reg.test(str)
  39. }
  40. /**
  41. * @param {string} str
  42. * @returns {Boolean}
  43. */
  44. export function validAlphabets(str) {
  45. const reg = /^[A-Za-z]+$/
  46. return reg.test(str)
  47. }
  48. /**
  49. * @param {string} email
  50. * @returns {Boolean}
  51. */
  52. export function validEmail(email) {
  53. 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,}))$/
  54. return reg.test(email)
  55. }
  56. /**
  57. * @param {string} str
  58. * @returns {Boolean}
  59. */
  60. export function isString(str) {
  61. if (typeof str === 'string' || str instanceof String) {
  62. return true
  63. }
  64. return false
  65. }
  66. /**
  67. * @param {Array} arg
  68. * @returns {Boolean}
  69. */
  70. export function isArray(arg) {
  71. if (typeof Array.isArray === 'undefined') {
  72. return Object.prototype.toString.call(arg) === '[object Array]'
  73. }
  74. return Array.isArray(arg)
  75. }
  76. // 判断字符串为数字且保留一位小数
  77. export function isNum(val) {
  78. const reg = /^\d+(\.\d{1})?$/
  79. return reg.test(val)
  80. }
  81. // 判断字符串为数字且保留一位或两位小数
  82. export function isNumber(val) {
  83. const reg = /^\d+(\.\d{1,2})?$/
  84. return reg.test(val)
  85. }
  86. // 判断字符串为正整数
  87. export function isInteger(val) {
  88. const reg = /^[1-9]\d*$/
  89. return reg.test(val)
  90. }
  91. // 验证手机号
  92. export function validPhone(val) {
  93. const reg = /^1[3-9]\d{9}$/;
  94. return reg.test(val)
  95. }