详解微信小程序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 相关文章推荐
获取服务器传来的数据 用JS去空格的正则表达式
Mar 26 Javascript
jquery在Chrome下获取图片的长宽问题解决
Mar 20 Javascript
把jQuery的类、插件封装成seajs的模块的方法
Mar 12 Javascript
JavaScript整除运算函数ceil和floor的区别分析
Apr 14 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
详解JS中Array对象扩展与String对象扩展
Jan 07 Javascript
js实现简单的手风琴效果
Feb 27 Javascript
jquery实现简单实用的轮播器
May 23 jQuery
详解vue2.0 transition 多个元素嵌套使用过渡
Jun 19 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
Oct 24 Javascript
一小时迅速入门Mybatis之bind与多数据源支持 Java API
Sep 15 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中in_array函数用法分析
2014/11/15 PHP
yii分页组件用法实例分析
2015/12/28 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
javascript中Date对象的getDay方法使用指南
2014/12/22 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
Python完全新手教程
2007/02/08 Python
Python单元测试框架unittest简明使用实例
2015/04/13 Python
Python类的继承和多态代码详解
2017/12/27 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
解决django FileFIELD的编码问题
2020/03/30 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
医学护理系毕业生求职信
2013/10/01 职场文书
物流专业大学的自我评价
2014/01/11 职场文书
技校毕业生个人学习的自我评价
2014/02/21 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
第二课堂活动总结
2014/05/07 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
导游词之凤凰古城
2019/10/22 职场文书
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫