util.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. function ViewImage(imgList, e) {
  2. uni.previewImage({
  3. urls: imgList,
  4. current: e.currentTarget.dataset.url
  5. });
  6. }
  7. function formatTime(time) {
  8. if (typeof time !== 'number' || time < 0) {
  9. return time
  10. }
  11. var hour = parseInt(time / 3600)
  12. time = time % 3600
  13. var minute = parseInt(time / 60)
  14. time = time % 60
  15. var second = time
  16. return ([hour, minute, second]).map(function(n) {
  17. n = n.toString()
  18. return n[1] ? n : '0' + n
  19. }).join(':')
  20. }
  21. // 判断是否为手机号
  22. function isPhoneNumber(pone) {
  23. var myreg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
  24. if (!myreg.test(pone)) {
  25. return false;
  26. } else {
  27. return true;
  28. }
  29. }
  30. //密码判断
  31. function isPassword(p) {
  32. var myreg = /^[a-zA-Z0-9]{6,12}$/;
  33. if (!myreg.test(p)) {
  34. return false;
  35. } else {
  36. return true;
  37. }
  38. }
  39. //判断验证码
  40. function isCaptcha(p) {
  41. var myreg = /^[0-9A-Za-z]{4,12}$/;
  42. if (!myreg.test(p)) {
  43. return false;
  44. } else {
  45. return true;
  46. }
  47. }
  48. //判断用户名
  49. function isUserName(p) {
  50. var myreg = /^[a-zA-Z0-9]{1,20}$/;
  51. if (!myreg.test(p)) {
  52. return false;
  53. } else {
  54. return true;
  55. }
  56. }
  57. //判断身份证
  58. function isIdCard(value) {
  59. let myReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  60. if (!myReg.test(value)) {
  61. return false;
  62. } else {
  63. return true;
  64. }
  65. }
  66. const isEmpty = function(a) {
  67. return typeof(a) == 'undefined' || a == null || a == '' || a == 'undefined';
  68. }
  69. function formatLocation(longitude, latitude) {
  70. if (typeof longitude === 'string' && typeof latitude === 'string') {
  71. longitude = parseFloat(longitude)
  72. latitude = parseFloat(latitude)
  73. }
  74. longitude = longitude.toFixed(2)
  75. latitude = latitude.toFixed(2)
  76. return {
  77. longitude: longitude.toString().split('.'),
  78. latitude: latitude.toString().split('.')
  79. }
  80. }
  81. var dateUtils = {
  82. UNITS: {
  83. '年': 31557600000,
  84. '月': 2629800000,
  85. '天': 86400000,
  86. '小时': 3600000,
  87. '分钟': 60000,
  88. '秒': 1000
  89. },
  90. humanize: function(milliseconds, date) {
  91. var humanize = '';
  92. var _format = function(number) {
  93. return (number < 10 ? ('0' + number) : number);
  94. };
  95. for (var key in this.UNITS) {
  96. if (milliseconds >= this.UNITS[key]) {
  97. switch (key) {
  98. case '小时':
  99. humanize = _format(date.getHours()) + ':' + _format(date.getMinutes());
  100. break;
  101. default:
  102. humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前';
  103. break;
  104. }
  105. break;
  106. }
  107. }
  108. return humanize || '刚刚';
  109. },
  110. format: function(dateStr) {
  111. var date = this.parse(dateStr)
  112. var diff = Date.now() - date.getTime();
  113. if (diff < this.UNITS['天']) {
  114. return this.humanize(diff, date);
  115. }
  116. var _format = function(number) {
  117. return (number < 10 ? ('0' + number) : number);
  118. };
  119. return date.getFullYear() + '-' + _format(date.getMonth() + 1) + '-' + _format(date.getDate()) + '-' +
  120. _format(date.getHours()) + ':' + _format(date.getMinutes());
  121. },
  122. formatHms: function(dateStr) {
  123. var date = this.parse(dateStr)
  124. var _format = function(number) {
  125. return (number < 10 ? ('0' + number) : number);
  126. };
  127. return _format(date.getHours()) + ':' + _format(date.getMinutes());
  128. },
  129. formatYMD: function(dateStr) {
  130. var date = this.parse(dateStr)
  131. var _format = function(number) {
  132. return (number < 10 ? ('0' + number) : number);
  133. };
  134. return date.getFullYear() + '-' + _format(date.getMonth() + 1) + '-' + _format(date.getDate());
  135. },
  136. parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象
  137. if (!str) {
  138. return new Date();
  139. }
  140. var a = str.split(/[^0-9]/);
  141. return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
  142. },
  143. /**************************************时间格式化处理************************************/
  144. dateFtt(fmt, date) { //author: meizz
  145. var o = {
  146. "M+": date.getMonth() + 1, //月份
  147. "d+": date.getDate(), //日
  148. "H+": date.getHours(), //小时
  149. "m+": date.getMinutes(), //分
  150. "s+": date.getSeconds(), //秒
  151. "q+": Math.floor((date.getMonth() + 3) / 3), //季度
  152. "S": date.getMilliseconds() //毫秒
  153. };
  154. if (/(y+)/.test(fmt))
  155. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  156. for (var k in o)
  157. if (new RegExp("(" + k + ")").test(fmt))
  158. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  159. return fmt;
  160. },
  161. };
  162. module.exports = {
  163. formatTime: formatTime,
  164. isPhoneNumber: isPhoneNumber,
  165. isUserName: isUserName,
  166. isPassword: isPassword,
  167. isCaptcha: isCaptcha,
  168. formatLocation: formatLocation,
  169. dateUtils: dateUtils,
  170. isEmpty: isEmpty,
  171. isIdCard: isIdCard,
  172. ViewImage: ViewImage,
  173. }