详解微信小程序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的掌握程度的代码
Dec 09 Javascript
Javascript 面向对象 继承
May 13 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
May 31 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
Aug 14 Javascript
javascript中验证大写字母、数字和中文
Jan 15 Javascript
可编辑下拉框的2种实现方式
Jun 13 Javascript
深入分析javascript中console命令
Aug 14 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
Dec 16 Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 Javascript
vue中用动态组件实现选项卡切换效果
Mar 25 Javascript
Node 升级到最新稳定版的方法分享
May 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
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
php生成word并下载代码实例
2019/03/15 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
javascript 数组的方法集合
2008/06/05 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
ES6学习教程之块级作用域详解
2017/10/09 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
详解python之简单主机批量管理工具
2017/01/27 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
python中的decorator的作用详解
2018/07/26 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
2019/11/29 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
python和c语言哪个更适合初学者
2020/06/22 Python
浅析Python 责任链设计模式
2020/09/11 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
协议书模板
2014/04/23 职场文书
感恩教育活动总结
2014/05/05 职场文书
2014第二批党的群众路线教育实践活动对照检查材料思想汇报
2014/09/18 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
小组口号霸气押韵
2015/12/24 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
MySQL七大JOIN的具体使用
2022/02/28 MySQL