string.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /**
  2. * 去掉字符串中空格
  3. *
  4. * @param {String} str 待处理的字符串
  5. * @param {String} type 处理类型
  6. */
  7. function trim(str, type = 'both') {
  8. if (type === 'both') {
  9. return str.replace(/^\s+|\s+$/g, "")
  10. } else if (type === 'left') {
  11. return str.replace(/^\s*/g, "")
  12. } else if (type === 'right') {
  13. return str.replace(/(\s*$)/g, "")
  14. } else if (type === 'all') {
  15. return str.replace(/\s+/g, "")
  16. } else {
  17. return str
  18. }
  19. }
  20. /**
  21. * 获取带单位的长度值
  22. *
  23. * @param {String} value 待处理的值
  24. * @param {String} unit 单位
  25. */
  26. function getLengthUnitValue(value, unit = 'rpx') {
  27. if (!value) {
  28. return ''
  29. }
  30. if (/(%|px|rpx|auto)$/.test(value)) return value
  31. else return value + unit
  32. }
  33. /**
  34. * 将驼峰命名的字符串转换为指定连接符来进行连接
  35. *
  36. * @param {Object} string 待转换的字符串
  37. * @param {Object} replace 进行连接的字符
  38. */
  39. function humpConvertChar(string, replace = '_') {
  40. if (!string || !replace) {
  41. return ''
  42. }
  43. return string.replace(/([A-Z])/g, `${replace}$1`).toLowerCase()
  44. }
  45. /**
  46. * 将用指定连接符来进行连接的字符串转为驼峰命名的字符串
  47. *
  48. * @param {Object} string 待转换的字符串
  49. * @param {Object} replace 进行连接的字符
  50. */
  51. function charConvertHump(string, replace = '_') {
  52. if (!string || !replace) {
  53. return ''
  54. }
  55. let reg = RegExp(replace + "(\\w)", "g")
  56. return string.replace(reg, function(all, letter) {
  57. return letter.toUpperCase()
  58. })
  59. }
  60. export default {
  61. trim,
  62. getLengthUnitValue,
  63. humpConvertChar,
  64. charConvertHump
  65. }