精选文章 微信小程序车牌号码输入(虚拟键盘)

微信小程序车牌号码输入(虚拟键盘)

作者:wuhanwhite 时间: 2020-08-05 02:39:38
wuhanwhite 2020-08-05 02:39:38

近日在网上看到一位博主写的微信小程序 输入车牌号(有新能源),原文链接:https://blog.csdn.net/qq706352062/article/details/105554453?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159652341219195188354739%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159652341219195188354739&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v3-12-105554453.pc_ecpm_v3_pc_rank_v3&utm_term=%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E8%BD%A6%E7%89%8C%E8%BE%93%E5%85%A5%E9%94%AE%E7%9B%98&spm=1018.2118.3001.4187

有些个别功能稍作修改后为以下效果

微信小程序车牌号码输入(虚拟键盘)1

微信小程序车牌号码输入(虚拟键盘)2

 

相应的wxml文件如下:


  
  
    请输入您要缴费的车牌号码
    
    
      
        {{carnum[0] || ''}}
        {{carnum[1] || ''}}
      
      
      {{carnum[2] || ''}}
      {{carnum[3] || ''}}
      {{carnum[4] || ''}}
      {{carnum[5] || ''}}
      {{carnum[6] || ''}}
      
      
        
          +
          新能源
        
        
          {{carnum[7]}}
        
      
    
  
 
  
  
 
  
  
    
    清空
      关闭
    
    
    
      
        {{itemlist}}
      
      
        
      
    
    
    
      
        {{itemlist}}
      
      
        
      
    
  

JS文件如下:

Page({
 
  /**
   * 页面的初始数据
   */
  data: {
    // 省份简写
    provinces: [
      ['京', '沪', '粤', '津', '冀', '晋', '蒙', '辽', '吉', '黑'],
      ['苏', '浙', '皖', '闽', '赣', '鲁', '豫', '鄂', '湘'],
      ['桂', '琼', '渝', '川', '贵', '云', '藏'],
      ['陕', '甘', '青', '宁', '新'],
    ],
    // 车牌输入
    numbers: [
      ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
      ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"],
      ["A", "S", "D", "F", "G", "H", "J", "K", "L"],
      ["Z", "X", "C", "V", "B", "N", "M"]
    ],
    carnum: [],
    showNewPower: false,
    KeyboardState: true
  },
  // 选中点击设置
  bindChoose(e) {
    if (!this.data.carnum[6] || this.data.showNewPower) {
      var arr = [];
      arr[0] = e.target.dataset.val;
      this.data.carnum = this.data.carnum.concat(arr)
      this.setData({
        carnum: this.data.carnum
      })
    }
    if(this.data.carnum[6]){
      this.setData({
        showNewPower: true,
        KeyboardState: true
      })
    }
  },
  bindDelChoose() {
    if (this.data.carnum.length != 0) {
      this.data.carnum.splice(this.data.carnum.length - 1, 1);
      this.setData({
        carnum: this.data.carnum
      })
    }
    
  },
  showPowerBtn() {
    this.setData({
      showNewPower: true,
      KeyboardState: true
    })
  },
  closeKeyboard() {
    this.setData({
      KeyboardState: false
    })
  },
  openKeyboard() {
    this.setData({
      KeyboardState: true
    })
  },
  //清空按钮
  deleteAll(){
    this.setData({
      carnum:[],
    })
  },
  // 提交车牌号码
  submitNumber() {
    if(this.data.carnum.length<7){
      wx.showToast({
        title: '请输入完整的车牌!',
        icon:'none',
        duration: 2000,
      })
    }
    if (this.data.carnum[6]) {
           
      var carno=this.data.carnum;
      var carnonew=carno.join('');
      console.log(carnonew);
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      carnum:['鄂'],
    })
  },
 
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
 
  },
 
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
 
  },
 
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
 
  },
 
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
 
  }
})

wxss文件如下:

/* pages/parking_home/parking_home.wxss */

.page{
  background: #fff;
  position: absolute;
  top:0;
  bottom:0;
  width: 100%;
}
.weui-cells__title{
  margin-top:.77em;
margin-bottom:.3em;
padding-left:15px;
padding-right:15px;
color:#999;
font-size:14px;
 
}
/* 虚拟键盘 */
.keyboard{
  height: auto;
  background: #d1d5d9;
  position: fixed;
  bottom:0;
  width: 100%;
  left:0;
}
.keyboard-item{
  padding:10rpx 2rpx 25rpx 2rpx;
  position: relative;
  display: block;
}
/* 关闭虚拟键盘 */
.keyboardClose{
  height: 70rpx;
  background-color: #f7f7f7;
  overflow: hidden;
}
.keyboardClose_btn1{
  float: right;
  line-height: 70rpx;
  font-size: 15px;
  padding-right: 30rpx;
  color: red;
}
.keyboardClose_btn2{
  float: right;
  line-height: 70rpx;
  font-size: 15px;
  padding-right: 30rpx;
  color: orange;
}
/* 虚拟键盘-省缩写 */
 
/* 虚拟键盘-行 */
.keyboard-line{
  margin:0 auto;
  text-align: center;
}
.iscarnumber .keyboard-line{
  text-align: center;
  margin-left: 5rpx;
}
/* 虚拟键盘-单个按钮 */
.keyboard-btn{
  font-size: 25px;
  color: #333333;
  background: #fff;
  display: inline-block;
  padding:18rpx 0; 
  width: 64rpx;
  text-align: center;
  box-shadow: 0 6rpx 5rpx 0 #999999;
  border-radius: 10rpx;
  margin:12rpx 6rpx;
}
.keyboard-btn:active{
  font-size: 25px;
  color: #333333;
  background: #999999;
  display: inline-block;
  padding:18rpx 0; 
  width: 64rpx;
  text-align: center;
  box-shadow: 0 6rpx 5rpx 0 #999999;
  border-radius: 10rpx;
  margin:12rpx 6rpx;
}

/* 虚拟键盘-删除按钮 */
.keyboard-del{
  font-size: 17px;
  color: #333333;
  background: #A7B0BC;
  display: inline-block;
  padding:4rpx 25rpx;
  box-shadow: 0 2rpx 0 0 #999999;
  border-radius: 10rpx;
  margin:5rpx;
  position: absolute;
  width: 20px;
  height: 45px;
  line-height: 45px;
  bottom:26rpx;
  right: 16rpx;
}
.keyboard-del:active{
  font-size: 17px;
  color: #333333;
  background: #fff;
  display: inline-block;
  padding:4rpx 25rpx;
  box-shadow: 0 2rpx 0 0 #999999;
  border-radius: 10rpx;
  margin:5rpx;
  position: absolute;
  width: 20px;
  height: 45px;
  line-height: 45px;
  bottom:26rpx;
  right: 16rpx;
}
.keyboard-del-font{
  font-size:25px;
}
 
/* 车牌号码 */
.carNumber-items{
  text-align: center;
}
.carNumber-items-box{
  width: 158rpx;
  height: 90rpx;
  border: 2rpx solid #CCCCCC;
  border-radius: 4rpx;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  margin-right: 30rpx;
}
.carNumber-items-box-list{
  width: 76rpx;
  height: 70rpx;
  line-height: 70rpx;
  text-align: center;
  display: inline-block;
  font-size: 18px;
  margin:10rpx 0;
  vertical-align: middle;
}
.carNumber-items-province{
  border-right: 1rpx solid #ccc;
}
.carNumber-items-box::after{
  content: "";
  width: 6rpx;
  height: 6rpx;
  position: absolute;
  right: -22rpx;
  top: 40rpx;
  border-radius: 50%;
  background-color: #ccc;
}
.carNumber-item{
  width: 76rpx;
  height: 90rpx;
  font-size: 18px;
  text-align: center;
  border: 2rpx solid #CCCCCC;
  border-radius: 4rpx;
  line-height: 90rpx;
  display: inline-block;
  margin:0 4rpx;
  vertical-align: middle;
}
/* 新能源 */
.carNumber-item-newpower{
  border: 2rpx dashed #A8BFF3;
  background-color: #F6F9FF;
  color: #A8BFF3;
  font-size: 12px;
  line-height: 45rpx;
}
.carNumber-newpower-add{
  font-size: 18px;
}
 
/* 确认按钮 */
.carNumberBtn{
  border-radius: 4rpx;
  margin:80rpx 40rpx;
}

用户点击提交后,如果车牌位数不足7位,提示请输入完整的车牌号码,具体车牌号码请看操作台。

扩展功能,目前百度AI接口支持传入图片,系统自动返回车牌号码,后期准备添加功能,用户只需要拍照传入一个车牌图片,自动填入车牌号码,这样可以更加方便用户使用。

特将前端源码分享给各位看客。

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:删库一定要跑路吗?手把手教你MySQL数据恢复

下一篇:学Mysql怎样快速入门?

您可能感兴趣

  • 新职业教育的三节课,凭什么做到今天这样

    历时7天、翻遍15个平台渠道、访谈25位参与课程的从业者、挖掘了136条推文的标题和内容,我们得到了12500字的拆解。可以点击右上角☝:收藏、分享、在看,不用担心看一半,找不到文章。 本文信息公开来源:三节课官方公众号、虎嗅网、36氪、深网、东方财富网、新榜、知乎、简书、增长黑盒、短书··· 我们认为,这可能比任何官方复盘更能诠释:「三节课」是如何在3年内,做到互联网职业教育(Almost...

  • 2. linux安装(1)

    目录 2.1 安装Linux系统对硬件有什么要求? 2.2 虚拟机是什么 2.3 VMware虚拟机安装Linux系统 VMware下载和安装 VMware 安装 Linux 系统 2.4 使用U盘安装Linux系统 前期准备 U 盘安装 Linux 系统 2.5 使用dd命令安装Linux系统 Linux dd 命令是什么 dd命令安装Linux详细步骤 2.6 使用LiveCD从光盘直接...

  • vue知识点总结

    # 1.ES6新增? *1、变量的改变* *let:代码块内有效;不能重复声明;不存在变量提升* *const:只读变量,声明之后不允许改变。意味着,一旦声明必须初始化,否则会报错。;* *2、模版字符串(``)* *3、函数* **1、箭头函数 (sender) => { } 箭头函数最直观的三个特点。 不需要function关键字 可以省略return关键字 继承当前上下文的this关键...

  • 2020,我不想奋斗了

    导读:奋斗狗和咸鱼,你会怎么选? 作者:黎明 唐亚华 周继凤 孟亚娜 金玙璠 赵磊 苏琦 编辑:黎明 来源:燃财经(ID:rancaijing) 对于很多人而言,2020年是极其特殊甚至荒诞的一年。 年初爆发的新冠肺炎疫情,影响了经济形势,改变了很多人的生活。2020年已经过半,最近,有这样一种声音:有人说不想奋斗了,有人说鸡汤喝够了,有人说要及时行乐,还有人一边喊着不想奋斗,一边用实际行动...

  • NL 学习资源

    https://github.com/fighting41love/funNLP 在入门到熟悉NLP的过程中,用到了很多github上的包,遂整理了一下,分享在这里。 很多包非常有趣,值得收藏,满足大家的收集癖! 如果觉得有用,请分享并star,谢谢! 长期不定时更新,欢迎watch和fork! 涉及内容包括但不限于:中英文敏感词、语言检测、中外手机/电话归属地/运营商查询、名字推断性别、手...

  • 【干货】java核心知识整理,阶段一:java基础之java开发入门

    java概念 什么是java 在揭开Java语言的神秘面纱之前,先来认识一下什么是计算机语言。计算机语言(Computer Language)是人与计算机之间通信的语言,它主要由一些指令组成,这些指令包括数字、符号和语法等内容,程序员可以通过这些指令与计算机进行交互。计算机语言的种类繁多,总的来说可以分成机器语言、汇编语言、高级语言三大类。计算机所能识别的语言只有机器语言,但通常人们编程时,...

  • 程序员下班关闭显示器,却从不关电脑,你知道为什么吗?

    热文导读| 点击标题阅读 千万别小瞧背调公司!手握美团offer,结果背调红灯,哭了 重磅!阿里内部偷师Android的开发规范文档 什么?鹅厂又出渣男了,劈腿出轨多个震惊朋友圈 https://blog.csdn.net/csdnsevenn/article/details/87887552 为什么程序员下班后只关显示器从不关电脑?这个问题,想必很多刚踏入IT圈的程序员也很好奇吧,下面总结...

  • 3D人体姿态估计论文汇总(CVPR/ECCV/ACCV/AAAI)

    点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 作者:Vegetabird | 来源:知乎 https://zhuanlan.zhihu.com/p/137240831 本文仅做学术分享,如有侵权,请联系删除。 3D人体姿态估计是从图片或视频中估计出关节点的三维坐标 (x, y, z),它本质上是一个回归问题。 它广泛地应用在动画、游戏、运动捕捉系统和行为理解中,也可以做为其他算法...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。