// pages/wapManageFinance/bankManage.js
const {getProvinceList,getCityList,getCountyList,addMemberBank,memberBankList,delBank
} = require('../../../common/http.js')
Page({/*** 页面的初始数据*/data: {isaddBank: false,bankName: '',regionName: '',bankList: ['工商银行', '农业银行', '建设银行', '招商银行', '北京银行', '平安银行', '交通银行', '中国银行', '兴业银行', '民生银行', '光大银行','中信银行','邮政储蓄银行', '农村商业银行', '广大银行', '阿拉善左旗方大村镇银行', '安徽肥西石银村镇银行'],provinceArray: [], //省列表数据provinceName: '',provinceId: null,cityArray: [], //城市列表数据cityName: '',cityId: null,countyArray: [], //地区列表数据dataList: []},//查询银行卡getMemberBankList() {let data = { sdMemberId: wx.getStorageSync('sdMemberId') }if(+this.data.type === 0){data.sdMemberId = wx.getStorageSync('formerMemberId')}memberBankList(data).then(res => {this.setData({dataList: res.data.memberBankList})})},//省列表请求getProvince() {getProvinceList().then(res => {if (res.data.code === 0) {this.setData({provinceArray: res.data.list})}})},//城市列表请求getCity(id) {getCityList({id}).then(res => {if (res.data.code === 0) {this.setData({cityArray: res.data.list})}})},//区列表请求// getCounty(id) {//   getCountyList({//     id//   }).then(res => {//     if (res.data.code === 0) {//       this.setData({//         countyArray: res.data.list//       })//     }//   })// },//省份 pirckprovinceChange(e) {let index = e.detail.valuelet id = this.data.provinceArray[index].id//请求城市this.getCity(id)this.setData({provinceName: this.data.provinceArray[index].name,provinceId: id})},//城市 pirckcityChange(e) {let index = e.detail.valuelet id = this.data.cityArray[index].id//请求地区// this.getCounty(id)this.setData({cityName: this.data.cityArray[index].name,cityId: id})},//区县 pirck// countyChange(e) {//   let index = e.detail.value//   let id = this.data.countyArray[index].id//   this.setData({//     countyName: this.data.countyArray[index].name,//     countyId: id//   })// },blackUp() {wx.navigateBack({delta: 1})},//打开填写窗openShade() {this.setData({isaddBank: true})this.getProvince()},//关闭填写窗closeShade() {this.setData({isaddBank: false,bankName: '',regionName: '',provinceArray: [], //省列表数据provinceName: '',cityArray: [], //城市列表数据cityName: ''})},//开户行bankChange(e) {this.setData({bankName: this.data.bankList[e.detail.value]})},//添加银行卡信息formSubmit(e) {let {bankName,bankAccount,bankNo,branchName} = e.detail.valuelet data = {bankName,bankAccount,bankNo,branchName,provinceId: this.data.provinceId,cityId: this.data.cityId,// countyId: this.data.countyId,isDefault: 0,sdMemberId: wx.getStorageSync('sdMemberId')}if(+this.data.type === 0){data.sdMemberId = wx.getStorageSync('formerMemberId')}if (!bankName || !bankAccount || !bankNo || !branchName || !data.provinceId || !data.cityId) {wx.showToast({title: '请填写完整的信息',icon: 'none',duration: 3000})return}if (this.checkBankno(bankNo) === false){wx.showToast({title: '银行卡卡号不正确',icon: 'none',duration: 3000})return}wx.showLoading({title: '加载中',mask: true})addMemberBank(data).then(res => {wx.hideLoading()if (res.data.code === 0) {wx.showToast({title: '添加成功',icon: 'none',duration: 1500})this.setData({isaddBank: false})this.getMemberBankList()}})},//删除银行卡deleteBank(e) {let id = e.currentTarget.dataset.idwx.showLoading({title: '加载中',mask: true})delBank({id}).then(res => {wx.hideLoading()if (res.data.code === 0) {wx.showToast({title: '删除成功',icon: 'none',duration: 1500})this.getMemberBankList()}})},//银行卡正则校验checkBankno(bankno) {var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一位(与luhm进行比较)var first15Num = bankno.substr(0, bankno.length - 1); //前15或18位var newArr = [];for (var i = first15Num.length - 1; i > -1; i--) { //前15或18位倒序存进数组newArr.push(first15Num.substr(i, 1));}var arrJiShu = []; //奇数位*2的积 <9var arrJiShu2 = []; //奇数位*2的积 >9var arrOuShu = []; //偶数位数组for (var j = 0; j < newArr.length; j++) {if ((j + 1) % 2 == 1) { //奇数位if (parseInt(newArr[j]) * 2 < 9)arrJiShu.push(parseInt(newArr[j]) * 2);elsearrJiShu2.push(parseInt(newArr[j]) * 2);} else //偶数位arrOuShu.push(newArr[j]);}var jishu_child1 = []; //奇数位*2 >9 的分割之后的数组个位数var jishu_child2 = []; //奇数位*2 >9 的分割之后的数组十位数for (var h = 0; h < arrJiShu2.length; h++) {jishu_child1.push(parseInt(arrJiShu2[h]) % 10);jishu_child2.push(parseInt(arrJiShu2[h]) / 10);}var sumJiShu = 0; //奇数位*2 < 9 的数组之和var sumOuShu = 0; //偶数位数组之和var sumJiShuChild1 = 0; //奇数位*2 >9 的分割之后的数组个位数之和var sumJiShuChild2 = 0; //奇数位*2 >9 的分割之后的数组十位数之和var sumTotal = 0;for (var m = 0; m < arrJiShu.length; m++) {sumJiShu = sumJiShu + parseInt(arrJiShu[m]);}for (var n = 0; n < arrOuShu.length; n++) {sumOuShu = sumOuShu + parseInt(arrOuShu[n]);}for (var p = 0; p < jishu_child1.length; p++) {sumJiShuChild1 = sumJiShuChild1 + parseInt(jishu_child1[p]);sumJiShuChild2 = sumJiShuChild2 + parseInt(jishu_child2[p]);}//计算总和sumTotal = parseInt(sumJiShu) + parseInt(sumOuShu) + parseInt(sumJiShuChild1) + parseInt(sumJiShuChild2);//计算Luhm值var k = parseInt(sumTotal) % 10 == 0 ? 10 : parseInt(sumTotal) % 10;var luhm = 10 - k;if (lastNum == luhm) {return true;} else {return false;}},/*** 生命周期函数--监听页面加载*/onLoad: function(options) {if (options.type){this.setData({ type: options.type})}this.getMemberBankList()},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function() {},/*** 生命周期函数--监听页面显示*/onShow: function() {},/*** 生命周期函数--监听页面隐藏*/onHide: function() {},/*** 生命周期函数--监听页面卸载*/onUnload: function() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function() {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function() {}
})

js 银行卡正则校验相关推荐

  1. js银行卡luhm校验,验证银行卡号并返回开户行(三方插件和在线验证)

    最近做公司的项目遇到银行卡号匹配开户银行的问题,一开始是正则匹配银行卡号码,开户银行银行自己填写,后来用户又让改,说要自动匹配开户银行,唉,用户都是大哥,让改就要改--话不多说,上代码. 自己寻思了半 ...

  2. js电话号码正则校验--座机和手机号

    1.最新的电话号码段: 移动:134(1349除外)135 136 137 138 139       147       150 151 152 157 158 159       182 183 ...

  3. JAVA --银行卡正则校验工具类

    package com.allinpay.utils;import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; im ...

  4. js 常用正则校验(身份证/手机号/姓名...)

    //身份证校验 const IDReg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|3 ...

  5. js一些正则校验(笔记)

    手机号替换中间四位为**** var tel = "13286953333"; var reg = /^(\d{3})\d{4}(\d{4})$/; tel = tel.repla ...

  6. 不同银行的银行卡正则校验

    好资源保存一下 防止原文被删. var bankcardList = [{bankName: "中国邮政储蓄银行",bankCode: "PSBC",patte ...

  7. js银行卡、手机号等校验汇总

    前端JS银行卡等校验方法总结 会持续更新 银行卡输入添加空格和长度限制 /*** 银行卡格式化* 如何:6217 0044 0000 2047555*/formatBankNo:function (B ...

  8. 身份证、手机号、邮箱、银行卡、企业税号等正则校验

    身份证号正则校验: 前6位 第一位1到9范围 后5位 数字 /^[1-9]\d{5}/ 年份4位 开头两位 18 or 19 or 20 后面2位数字 /(18|19|20)\d{2}/ 月份2位 1 ...

  9. js身份证正则精准校验

    js身份证正则精准校验 介绍 xxxxxx yyyy MM dd 375 0     十八位 xxxxxx    yy MM dd   75 0     十五位 地区: [1-9]\d{5} 年的前两 ...

最新文章

  1. Myeclipse 8.0 +Flash builder 4 plugin 的实现
  2. [译]Vulkan教程(05)Instance
  3. oracle define (hex 26),oracle 特殊字符轉義
  4. c# java gt;gt;gt;,相同的字节数组=gt; Java和C#中的不同BigInteger值
  5. Linux mysql设置密码
  6. 判断sem信号量为零_将信号量递减为零的进程崩溃时,如何恢复信号量?
  7. asp.net登录状态验证
  8. 微信小程序引入骨架屏组件
  9. 〖Linux〗Ubuntu设定Proxy及忽略Proxy
  10. mysql的唯一索引UNIQUE
  11. php json 格式化
  12. intellji External Libraries下依赖包找不到解决方法
  13. 这份字节、阿里内部秘传的面经,被我搞到手了……
  14. 搭建cacti 期间问题总结
  15. PHP设计模式 之 单例模式(封装PDO)
  16. 镜像miracast投屏软件_miracast投屏下载
  17. VS开发中,常见编译问题解决方案
  18. 微信开发者工具上传照片后下载图片一直报40007:invalid media_id hint: [UUtO4a0341d142] rid: 5fd84e4d-5a3
  19. 谈程序猿的技术能力(Technology)和工程能力(Engineering)
  20. PS照片美化处理实例教程

热门文章

  1. idea热部署-解决热部署失效问题-【伸手党福利】
  2. JS键盘事件获取键盘码
  3. C++面向对象(黑马程序员)
  4. 2022年,成为一名更专业的工程师
  5. Bartender开发经验
  6. 线性代数_3、行列式的七大性质及推论
  7. 【数据压缩3】AVI文件格式分析及问题回答+WAV文件格式分析
  8. 对tcp服务器最大连接数的理解
  9. .netcore空数据映射处理
  10. matlab如何用遗传算法,使用MATLAB遗传算法工具实例(详细).doc