详解微信小程序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 tab效果的实现代码
Dec 26 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
Nov 09 Javascript
一个简单的Ext.XTemplate的实例代码
Mar 18 Javascript
Javascript中的delete介绍
Sep 02 Javascript
一个JavaScript获取元素当前高度的实例
Oct 29 Javascript
javascript 事件处理示例分享
Dec 31 Javascript
微信小程序  生命周期详解
Oct 27 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
Jan 18 Javascript
jQuery实现div跟随鼠标移动
Aug 20 jQuery
关于前后端json数据的发送与接收详解
Jul 30 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
Oct 12 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 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+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
php程序效率优化的一些策略小结
2010/07/17 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
PHP实现图片压缩
2020/09/09 PHP
jQuery ready函数滥用分析
2011/02/16 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
Djang的model创建的字段和参数详解
2019/07/27 Python
Python流程控制常用工具详解
2020/02/24 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
布里斯班女装时尚品牌:Adrift
2017/12/28 全球购物
linux面试题参考答案(5)
2016/11/05 面试题
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
《音乐之都维也纳》教学反思
2014/04/16 职场文书
关于诚信的活动方案
2014/08/18 职场文书
2014年医生工作总结
2014/11/21 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书
驳回起诉裁定书
2015/05/19 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
Pandas数据类型之category的用法
2021/06/28 Python