util.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /**
  2. * 数据处理
  3. * @author echo.
  4. * @version 1.5.0
  5. **/
  6. const utils = {
  7. //去空格
  8. trim: function(value) {
  9. return value.replace(/(^\s*)|(\s*$)/g, "");
  10. },
  11. //内容替换
  12. replaceAll: function(text, repstr, newstr) {
  13. return text.replace(new RegExp(repstr, "gm"), newstr);
  14. },
  15. //格式化手机号码
  16. formatNumber: function(num) {
  17. return num.length === 11 ? num.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2') : num;
  18. },
  19. //金额格式化
  20. rmoney: function(money) {
  21. return parseFloat(money).toFixed(2).toString().split('').reverse().join('').replace(/(\d{3})/g, '$1,').replace(
  22. /\,$/, '').split('').reverse().join('');
  23. },
  24. //日期格式化
  25. formatDate: function(formatStr, fdate) {
  26. if (fdate) {
  27. if (~fdate.indexOf('.')) {
  28. fdate = fdate.substring(0, fdate.indexOf('.'));
  29. }
  30. fdate = fdate.toString().replace('T', ' ').replace(/\-/g, '/');
  31. var fTime, fStr = 'ymdhis';
  32. if (!formatStr)
  33. formatStr = "y-m-d h:i:s";
  34. if (fdate)
  35. fTime = new Date(fdate);
  36. else
  37. fTime = new Date();
  38. var month = fTime.getMonth() + 1;
  39. var day = fTime.getDate();
  40. var hours = fTime.getHours();
  41. var minu = fTime.getMinutes();
  42. var second = fTime.getSeconds();
  43. month = month < 10 ? '0' + month : month;
  44. day = day < 10 ? '0' + day : day;
  45. hours = hours < 10 ? ('0' + hours) : hours;
  46. minu = minu < 10 ? '0' + minu : minu;
  47. second = second < 10 ? '0' + second : second;
  48. var formatArr = [
  49. fTime.getFullYear().toString(),
  50. month.toString(),
  51. day.toString(),
  52. hours.toString(),
  53. minu.toString(),
  54. second.toString()
  55. ]
  56. for (var i = 0; i < formatArr.length; i++) {
  57. formatStr = formatStr.replace(fStr.charAt(i), formatArr[i]);
  58. }
  59. return formatStr;
  60. } else {
  61. return "";
  62. }
  63. },
  64. rgbToHex: function (r, g, b) {
  65. return "#" + utils.toHex(r) + utils.toHex(g) + utils.toHex(b)
  66. },
  67. toHex: function (n) {
  68. n = parseInt(n, 10);
  69. if (isNaN(n)) return "00";
  70. n = Math.max(0, Math.min(n, 255));
  71. return "0123456789ABCDEF".charAt((n - n % 16) / 16) +
  72. "0123456789ABCDEF".charAt(n % 16);
  73. },
  74. hexToRgb(hex) {
  75. let result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  76. return result ? {
  77. r: parseInt(result[1], 16),
  78. g: parseInt(result[2], 16),
  79. b: parseInt(result[3], 16)
  80. } : null;
  81. }
  82. }
  83. module.exports = {
  84. trim: utils.trim,
  85. replaceAll: utils.replaceAll,
  86. formatNumber: utils.formatNumber,
  87. rmoney: utils.rmoney,
  88. formatDate: utils.formatDate,
  89. rgbToHex: utils.rgbToHex,
  90. hexToRgb: utils.hexToRgb
  91. }