rocessor.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. //身份证验证
  2. export function isCardNo(card) {
  3. // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
  4. var reg =
  5. /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/;
  6. if (reg.test(card) === false) {
  7. console.log(card);
  8. return false;
  9. }
  10. return true
  11. }
  12. // 金额显示变化
  13. export function getMoneyStyle(value = 0) {
  14. if (typeof value == 'string') {
  15. value = (+value).toFixed(2)
  16. }
  17. if (typeof value == 'number') {
  18. value = value.toFixed(2)
  19. }
  20. // 将字符串转为数组
  21. let n = value.split("");
  22. // 反转数组并复制循环处理
  23. let arr = n.reverse().map(function(e, ind, ar) {
  24. // 判断当前下标是否为3的整数倍数且不为最后一个下标
  25. if (ind % 3 == 0 && ind / 3 > 1 && ind != ar.length) {
  26. return e + ','
  27. } else {
  28. return e
  29. }
  30. })
  31. // 反转数组回复原来排序并合并回字符串
  32. arr = arr.reverse().join('')
  33. return arr;
  34. }
  35. // 倒计时计算
  36. // 计算倒计时时间
  37. export function timeComputed(time) {
  38. // 获取当前时间
  39. const actTime = (new Date()).getTime();
  40. // 获取到期时间
  41. let stopTime = time - actTime;
  42. // 判断是否小于0
  43. if (stopTime < 0) {
  44. stopTime = stopTime * -1
  45. }
  46. let day = Math.floor(stopTime / 1000 / 60 / 60 / 24) //获取剩余天数
  47. let hours = Math.floor((stopTime / 1000 / 60 / 60) % 24); //获取剩余小时数
  48. let minutes = Math.floor((stopTime / 1000 / 60) % 60); //获取分钟
  49. let seconds = Math.floor((stopTime / 1000) % 60); //获取秒数
  50. return {
  51. hours, //倒计时小时数
  52. minutes, //倒计时分钟数
  53. seconds, //倒计时秒数
  54. day //倒计时天数
  55. }
  56. }
  57. // 调用打开地图方法
  58. export function openMap(e) {
  59. const that = this
  60. return new Promise((resolve, reject) => {
  61. wx.getSetting({
  62. success(res) {
  63. //这里判断是否有地位权限
  64. if (!res.authSetting['scope.userLocation']) {
  65. wx.showModal({
  66. title: '提示',
  67. content: '请求获取位置权限',
  68. success: function(res) {
  69. if (res.confirm == false) {
  70. // 授权失败
  71. reject()
  72. return false;
  73. }
  74. wx.openSetting({
  75. success(res) {
  76. //如果再次拒绝则返回页面并提示
  77. if (!res.authSetting['scope.userLocation']) {
  78. wx.showToast({
  79. title: '此功能需获取位置信息,请重新设置',
  80. duration: 3000,
  81. icon: 'none'
  82. })
  83. } else {
  84. //允许授权,调用地图
  85. resolve()
  86. }
  87. }
  88. })
  89. }
  90. })
  91. } else {
  92. //如果有定位权限,调用地图
  93. resolve()
  94. }
  95. }
  96. })
  97. })
  98. }
  99. //时间戳转换成时间
  100. export function getTime(time,type) {
  101. const num =13 - (time+'').length;
  102. let l = 1;//倍数
  103. for (let i = 0; i < num; i++) {
  104. l+='0';
  105. }
  106. // 重新解析为数字
  107. l = parseInt(l)
  108. const date = new Date(parseInt(time) * l);
  109. const year = date.getFullYear();
  110. const mon = date.getMonth() + 1;
  111. const day = date.getDate();
  112. const hours = date.getHours();
  113. const minu = date.getMinutes();
  114. const sec = date.getSeconds();
  115. return year + '-' + mon + '-' + day + ' ' + (hours<10?`0${hours}`:hours) + ':' + (minu<10?`0${minu}`:minu) + ':' + (sec<10?`0${sec}`:sec);
  116. }
  117. export function copyText (content) {
  118. /**
  119. * 小程序端 和 app端的复制逻辑
  120. */
  121. //#ifndef H5
  122. uni.setClipboardData({
  123. data: content,
  124. success: function () {
  125. uni.showToast({
  126. title: '复制成功',
  127. });
  128. },
  129. });
  130. //#endif
  131. /**
  132. * H5端的复制逻辑
  133. */
  134. // #ifdef H5
  135. if (!document.queryCommandSupported("copy")) {
  136. //为了兼容有些浏览器 queryCommandSupported 的判断
  137. // 不支持
  138. uni.showToast({
  139. title: '浏览器不支持复制',
  140. icon:"error"
  141. });
  142. return false;
  143. }
  144. let textarea = document.createElement("textarea");
  145. textarea.value = content;
  146. textarea.readOnly = "readOnly";
  147. document.body.appendChild(textarea);
  148. textarea.select(); // 选择对象
  149. textarea.setSelectionRange(0, content.length); //核心
  150. let result = document.execCommand("copy"); // 执行浏览器复制命令
  151. textarea.remove();
  152. uni.showToast({
  153. title: '复制成功',
  154. });
  155. // #endif
  156. }