详解微信小程序input标签正则初体验


Posted in Javascript onAugust 18, 2018

开篇废话

在开发过程中经常遇到这样的需求:用户只能输入数字并且只保留小数点两位。虽然我们可以在提交表单的时候进行验证,但是体验不是很好。下面我主要使用了小程序input标签的bindinput方法对输入的值进行监听,然后进行正则匹配。

1. input标签

微信小程序input标签自带type=digit属性,可以调起带有小数点的数字键盘,maxlength属性可以控制我们输入字符的个数,然后我们给input标签绑定bindinput方法。

<input type="digit" bindinput="regInput" maxlength="15"/>

2. 绑定监听事件

bindinput方法可以监听到当前输入框的值,类似于onchange事件,但不太一样。通过e.detail.value可以获取到input的值,return返回的字符串可以替换掉输入的字符串。

3. 正则匹配

匹配正则通过则返回所有字符,不通过则去掉最后一个不匹配的字符返回。

/*正则匹配*/
regInput(e){
  if(/^(\d?)+(\.\d{0,2})?$/.test(e.detail.value)){
    return e.detail.value;
  }else {
    return e.detail.value.substring(0,e.detail.value.length-1);
  }
}

结束

这个正则表达式不是很完美,欢迎一起来优化。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
THREE.JS入门教程(4)创建粒子系统
Jan 24 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
jquery实现的点击翻书效果代码
Nov 04 Javascript
jquery点击改变class并toggle的实现代码
May 15 Javascript
每日十条JavaScript经验技巧(一)
Jun 23 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
Ionic + Angular.js实现图片轮播的方法示例
May 21 Javascript
Vue 表单控件绑定的实现示例
Aug 11 Javascript
浅谈angular.js跨域post解决方案
Aug 30 Javascript
动态加载JavaScript文件的3种方式
May 05 Javascript
ES6 迭代器与可迭代对象的实现
Feb 11 Javascript
Vue Router的手写实现方法实现
Mar 02 Javascript
vue实现键盘输入支付密码功能
Aug 18 #Javascript
记录一篇关于redux-saga的基本使用过程
Aug 18 #Javascript
Vue实现6位数密码效果
Aug 18 #Javascript
JavaScript实现淘宝京东6位数字支付密码效果
Aug 18 #Javascript
详解Angular6 热加载配置方案
Aug 18 #Javascript
Vue+element-ui 实现表格的分页功能示例
Aug 18 #Javascript
vue下history模式刷新后404错误解决方法
Aug 18 #Javascript
You might like
PHP include_path设置技巧分享
2011/07/03 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
深入分析element ScrollBar滚动组件源码
2019/01/22 Javascript
React学习之JSX与react事件实例分析
2020/01/06 Javascript
iview实现图片上传功能
2020/06/29 Javascript
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
python Kmeans算法原理深入解析
2019/08/23 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
python解包概念及实例
2021/02/17 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
video.js支持m3u8格式直播的实现示例
2020/05/20 HTML / CSS
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
新驾驶员个人自我评价
2014/01/03 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
员工年度工作总结2015
2015/05/18 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技