util.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. import {
  2. baseUrl
  3. } from "@/common/env.js"
  4. import store from '@/store'
  5. function is_weixin() {
  6. var ua = navigator.userAgent.toLowerCase();
  7. if (ua.match(/MicroMessenger/i) == "micromessenger") {
  8. return true;
  9. } else {
  10. return false;
  11. }
  12. }
  13. function getName() {
  14. let familyNames = [
  15. "赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈",
  16. "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许",
  17. "何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏",
  18. "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章",
  19. "云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦",
  20. "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳",
  21. "酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺",
  22. "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常",
  23. "乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余",
  24. "元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹"
  25. ]
  26. let givenNames = [
  27. "子璇", "淼", "国栋", "夫子", "瑞堂", "甜", "敏", "尚", "国贤", "贺祥", "晨涛",
  28. "昊轩", "易轩", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齐", "杨", "文昊",
  29. "东东", "雄霖", "浩晨", "熙涵", "溶溶", "冰枫", "欣欣", "宜豪", "欣慧", "建政",
  30. "美欣", "淑慧", "文轩", "文杰", "欣源", "忠林", "榕润", "欣汝", "慧嘉", "新建",
  31. "建林", "亦菲", "林", "冰洁", "佳欣", "涵涵", "禹辰", "淳美", "泽惠", "伟洋",
  32. "涵越", "润丽", "翔", "淑华", "晶莹", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅",
  33. "子辰", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡",
  34. "佳怡", "佳惠", "晨茜", "晨璐", "运昊", "汝鑫", "淑君", "晶滢", "润莎", "榕汕",
  35. "佳钰", "佳玉", "晓庆", "一鸣", "语晨", "添池", "添昊", "雨泽", "雅晗", "雅涵",
  36. "清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌"
  37. ]
  38. return {
  39. familyNames: familyNames,
  40. givenNames: givenNames
  41. }
  42. }
  43. function ajaxUploadImg(url, tempFilePaths, callback) {
  44. let headerConfig = {
  45. 'token': store.state.vuex_token
  46. }
  47. wx.uploadFile({
  48. url: baseUrl + url,
  49. filePath: tempFilePaths,
  50. name: 'file',
  51. formData: {
  52. file: tempFilePaths,
  53. path: ''
  54. },
  55. header: headerConfig,
  56. success(res) {
  57. callback(res)
  58. }
  59. })
  60. }
  61. const isCardID = (value) => {
  62. if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(value)) {
  63. // callback(new Error('你输入的身份证长度或格式错误'))
  64. return '身份证长度或格式错误'
  65. }
  66. //身份证城市
  67. let aCity = {
  68. 11: "北京",
  69. 12: "天津",
  70. 13: "河北",
  71. 14: "山西",
  72. 15: "内蒙古",
  73. 21: "辽宁",
  74. 22: "吉林",
  75. 23: "黑龙江",
  76. 31: "上海",
  77. 32: "江苏",
  78. 33: "浙江",
  79. 34: "安徽",
  80. 35: "福建",
  81. 36: "江西",
  82. 37: "山东",
  83. 41: "河南",
  84. 42: "湖北",
  85. 43: "湖南",
  86. 44: "广东",
  87. 45: "广西",
  88. 46: "海南",
  89. 50: "重庆",
  90. 51: "四川",
  91. 52: "贵州",
  92. 53: "云南",
  93. 54: "西藏",
  94. 61: "陕西",
  95. 62: "甘肃",
  96. 63: "青海",
  97. 64: "宁夏",
  98. 65: "新疆",
  99. 71: "台湾",
  100. 81: "香港",
  101. 82: "澳门",
  102. 91: "国外"
  103. };
  104. if (!aCity[parseInt(value.substr(0, 2))]) {
  105. // callback(new Error('你的身份证地区非法'))
  106. return '你的身份证地区非法'
  107. }
  108. // 出生日期验证
  109. let sBirthday = (value.substr(6, 4) + "-" + Number(value.substr(10, 2)) + "-" + Number(value.substr(12, 2)))
  110. .replace(/-/g, "/"),
  111. d = new Date(sBirthday)
  112. if (sBirthday != (d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate())) {
  113. // callback(new Error('身份证上的出生日期非法'))
  114. return '身份证上的出生日期非法'
  115. }
  116. // 身份证号码校验
  117. let sum = 0,
  118. weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],
  119. codes = "10X98765432"
  120. for (let i = 0; i < value.length - 1; i++) {
  121. sum += value[i] * weights[i];
  122. }
  123. let last = codes[sum % 11]; //计算出来的最后一位身份证号码
  124. if (value[value.length - 1] != last) {
  125. // callback(new Error('你输入的身份证号非法'))
  126. return '你输入的身份证号非法'
  127. }
  128. return 1
  129. };
  130. module.exports = {
  131. isCardID: isCardID,
  132. ajaxUploadImg: ajaxUploadImg,
  133. is_weixin: is_weixin,
  134. getName: getName
  135. }