common.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. //公共js,主要做表单验证,以及基本方法封装
  2. const utils = {
  3. isNullOrEmpty: function(value) {
  4. //是否为空
  5. return (value === null || value === '' || value === undefined) ? true : false;
  6. },
  7. trim: function(value) {
  8. //去空格
  9. return value.replace(/(^\s*)|(\s*$)/g, "");
  10. },
  11. isMobile: function(value) {
  12. //是否为手机号
  13. return /^(?:13\d|14\d|15\d|16\d|17\d|18\d|19\d)\d{5}(\d{3}|\*{3})$/.test(value);
  14. },
  15. isFloat: function(value) {
  16. //金额,只允许保留两位小数
  17. return /^([0-9]*[.]?[0-9])[0-9]{0,1}$/.test(value);
  18. },
  19. isNum: function(value) {
  20. //是否全为数字
  21. return /^[0-9]+$/.test(value);
  22. },
  23. checkPwd: function(value) {
  24. //密码为8~20位数字和字母组合
  25. return /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$/.test(value);
  26. },
  27. formatNum: function(num) {
  28. //格式化手机号码
  29. if (utils.isMobile(num)) {
  30. num = num.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2')
  31. }
  32. return num;
  33. },
  34. rmoney: function(money) {
  35. //金额格式化
  36. return parseFloat(money).toFixed(2).toString().split('').reverse().join('').replace(/(\d{3})/g, '$1,').replace(
  37. /\,$/, '').split('').reverse().join('');
  38. },
  39. bankRegex:function(num){
  40. let bankNum = ''
  41. bankNum = num.replace(/\D/g, '').replace(/(....)(?=.)/g, '$1 ');
  42. return bankNum
  43. },
  44. formatDate: function(formatStr, fdate) {
  45. //日期格式化
  46. if (fdate) {
  47. if (~fdate.indexOf('.')) {
  48. fdate = fdate.substring(0, fdate.indexOf('.'));
  49. }
  50. fdate = fdate.toString().replace('T', ' ').replace(/\-/g, '/');
  51. var fTime, fStr = 'ymdhis';
  52. if (!formatStr)
  53. formatStr = "y-m-d h:i:s";
  54. if (fdate)
  55. fTime = new Date(fdate);
  56. else
  57. fTime = new Date();
  58. var month = fTime.getMonth() + 1;
  59. var day = fTime.getDate();
  60. var hours = fTime.getHours();
  61. var minu = fTime.getMinutes();
  62. var second = fTime.getSeconds();
  63. month = month < 10 ? '0' + month : month;
  64. day = day < 10 ? '0' + day : day;
  65. hours = hours < 10 ? ('0' + hours) : hours;
  66. minu = minu < 10 ? '0' + minu : minu;
  67. second = second < 10 ? '0' + second : second;
  68. var formatArr = [
  69. fTime.getFullYear().toString(),
  70. month.toString(),
  71. day.toString(),
  72. hours.toString(),
  73. minu.toString(),
  74. second.toString()
  75. ]
  76. for (var i = 0; i < formatArr.length; i++) {
  77. formatStr = formatStr.replace(fStr.charAt(i), formatArr[i]);
  78. }
  79. return formatStr;
  80. } else {
  81. return "";
  82. }
  83. },
  84. }
  85. module.exports = {
  86. isNullOrEmpty: utils.isNullOrEmpty,
  87. trim: utils.trim,
  88. isMobile: utils.isMobile,
  89. isFloat: utils.isFloat,
  90. isNum: utils.isNum,
  91. checkPwd: utils.checkPwd,
  92. formatNum:utils.formatNum,
  93. rmoney: utils.rmoney,
  94. formatDate: utils.formatDate,
  95. bankRegex: utils.bankRegex
  96. }