详解微信小程序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(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
简单js代码实现selece二级联动(推荐)
Feb 18 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
每日十条JavaScript经验技巧(一)
Jun 23 Javascript
JavaScript中数组Array.sort()排序方法详解
Mar 01 Javascript
js实现3D图片展示效果
Mar 09 Javascript
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
JS正则表达式常见用法实例详解
Jun 19 Javascript
node实现分片下载的示例代码
Oct 17 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
Nov 14 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
Sep 18 Javascript
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
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网页木马一枚 附PHP木马的防范方法
2009/10/09 PHP
PHP5 面向对象(学习记录)
2009/12/02 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
javascript代码加载优化方法
2011/01/30 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
微信跳一跳辅助python代码实现
2018/01/05 Python
简述Python2与Python3的不同点
2018/01/21 Python
解决python 输出是省略号的问题
2018/04/19 Python
django 微信网页授权登陆的实现
2019/07/30 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
JACK & JONES荷兰官网:男士服装和鞋子
2021/03/07 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
建筑人员岗位职责
2013/12/25 职场文书
校园安全广播稿
2014/02/08 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
周年庆典主持词
2014/04/02 职场文书
工地安全标语
2014/06/07 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
电力工程合作意向书
2015/05/11 职场文书
JavaScript实现一键复制内容剪贴板
2022/07/23 Javascript
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL