teamBackgroundFile.js 1021 B

1234567891011121314151617181920212223242526
  1. const ALLOWED_EXTENSIONS = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'md', 'csv']
  2. const MAX_FILE_SIZE = 50 * 1024 * 1024
  3. function validateEnterpriseWebsite(value) {
  4. const normalized = String(value || '').trim()
  5. if (!normalized) return '请输入企业官网,无官网请填写“无”'
  6. if (normalized === '无') return ''
  7. if (!/^https?:\/\/[^/\s?#]+(?:[/?#][^\s]*)?$/i.test(normalized)) return '请输入以http://或https://开头的企业官网'
  8. return ''
  9. }
  10. function validateBackgroundFile(file) {
  11. if (!file || !file.name || !file.size) return '请选择非空文件'
  12. if (file.name.length > 255) return '文件名不能超过255个字符'
  13. const ext = file.name.includes('.') ? file.name.split('.').pop().toLowerCase() : ''
  14. if (!ALLOWED_EXTENSIONS.includes(ext)) return '文件类型不支持'
  15. if (file.size > MAX_FILE_SIZE) return '单个文件不能超过50MB'
  16. return ''
  17. }
  18. module.exports = {
  19. ALLOWED_EXTENSIONS,
  20. MAX_FILE_SIZE,
  21. validateEnterpriseWebsite,
  22. validateBackgroundFile
  23. }