input.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import log from './log.js';
  2. /**
  3. * inputTap custom类型点击触发函数
  4. * @param {any} customId
  5. */
  6. export function inputCustomTapFc(customId) { // 必须return一个Promise对象, 可以resolve数据给相应的input赋值
  7. return new Promise((resolve, reject) => {
  8. switch (customId) {
  9. case '自定义id':
  10. break;
  11. default:
  12. uni.scanCode({ //示例, 扫码后赋值
  13. success: function(res) {
  14. log('条码类型:' + res.scanType);
  15. log('条码内容:' + res.result);
  16. resolve(res.result);
  17. }
  18. });
  19. break;
  20. }
  21. })
  22. }
  23. /**
  24. * inputTap custom类型点击触发函数异常时触发的函数
  25. * @param {any} customId
  26. * @param {Object} e
  27. */
  28. export function inputCustomTapCatchFc(customId, e) { // inputTap custom类型触发的函数异常时触发的函数, 必须return一个Promise对象, 可以resolve数据给相应的input赋值
  29. return new Promise((resolve, reject) => {
  30. switch (customId) {
  31. case '自定义id':
  32. break;
  33. default:
  34. break;
  35. }
  36. })
  37. }
  38. /**
  39. * 内置过滤函数
  40. */
  41. export const filterTypeObj = { // 可根据需求自行添加拓展
  42. twoDecimalPlaces(value) { // 必须接受一个参数
  43. value = value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
  44. value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
  45. value = value.replace(/^(\-)*(\d+)\.(\d).*$/, '$1$2.$3'); //只能输入1个小数
  46. return value; // 必须return value
  47. }
  48. };
  49. // 注意只可增加不可删除
  50. // 注意只可增加不可删除
  51. // 注意只可增加不可删除
  52. /**
  53. * 内置正则校验
  54. */
  55. export const verifyTypeObj = {
  56. Tel: {
  57. reg: /^[1][0-9]{10}$/,
  58. name: '手机号'
  59. },
  60. Email: {
  61. reg: /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/,
  62. name: '电子邮箱'
  63. },
  64. idCart: {
  65. reg: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
  66. name: '身份证号'
  67. },
  68. NationalNumber: {
  69. reg: /\d{3}-\d{8}|\d{4}-\d{7}/,
  70. name: '国内号码'
  71. },
  72. QQ: {
  73. reg: /[1-9][0-9]{4,}/,
  74. name: 'QQ号'
  75. },
  76. PostalCode: {
  77. reg: /[1-9]\d{5}(?!\d)/,
  78. name: '邮政编码'
  79. },
  80. IpAddress: {
  81. reg: /\d+\.\d+\.\d+\.\d+/,
  82. name: 'IP地址'
  83. },
  84. Chinese: {
  85. reg: /[\u4e00-\u9fa5]/,
  86. name: '中文字符'
  87. },
  88. Char: {
  89. reg: /^[A-Za-z]+$/,
  90. name: '英文字母'
  91. },
  92. Int: {
  93. reg: /^\d+$/,
  94. name: '整数'
  95. },
  96. Number: {
  97. reg: /^([1-9]\d*(\.\d+)?)|(\d+(\.\d+))$/,
  98. name: '数字'
  99. }
  100. };