util.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // 'use strict'
  2. var CUSTOM_UTIL = function(){
  3. var transformStr = function(input) {
  4. let inputArr = [...input];
  5. let sum = 0;
  6. for(let i = 0; i < inputArr.length; i++) {
  7. sum += Math.pow(26, i) * (inputArr[i].charCodeAt() - "A".charCodeAt());
  8. }
  9. return sum;
  10. };
  11. return {
  12. rgbaToRgb: function(rgba) {
  13. var reg = /^([0-9a-fA-f]{8})$/;
  14. if(!rgba || !reg.test(rgba)) {
  15. return 'rgba(255, 255, 255, 0)';
  16. }
  17. let a = parseInt(rgba.substring(0, 2), 16);
  18. let r = parseInt(rgba.substring(2, 4), 16);
  19. let g = parseInt(rgba.substring(4, 6), 16);
  20. let b = parseInt(rgba.substring(6, 8), 16);
  21. return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';
  22. },
  23. splitRC: function(rc) {
  24. let rcArr = [...rc];
  25. let index = 0;
  26. var i = 0;
  27. for(i = 0; i < rcArr.length; i++) {
  28. if (/^([1-9]*)$/.test(rcArr[i])) {
  29. break;
  30. }
  31. }
  32. if(i < rcArr.length) {
  33. return {
  34. c: Number(rc.substring(i)),
  35. r: rc.substring(0, i)
  36. }
  37. }
  38. return {
  39. r: 0,
  40. c: rc.substring(0, i)
  41. }
  42. },
  43. /**
  44. * BA - D
  45. */
  46. computeR: function(end, start) {
  47. return transformStr(end) - transformStr(start);
  48. }
  49. }
  50. }();