详解微信小程序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 URL传中文参数引发的乱码问题
Sep 02 Javascript
jquery怎样实现ajax联动框(一)
Mar 08 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
Mar 22 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
Oct 23 Javascript
JS延时器提示框的应用实例代码解析
Apr 27 Javascript
js获取地址栏中传递的参数(两种方法)
Feb 08 Javascript
解决Vue页面固定滚动位置的处理办法
Jul 13 Javascript
js原生日历的实例(推荐)
Oct 31 Javascript
微信小程序实现图片放大预览功能
Oct 22 Javascript
深入浅析Vue中的Prop
Jun 10 Javascript
浅谈发布订阅模式与观察者模式
Apr 09 Javascript
bootstrap-table后端分页功能完整实例
Jun 01 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
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
使用 MySQL Date/Time 类型
2008/03/26 PHP
PHP 5.3.0 安装分析心得
2009/08/07 PHP
php抓取页面与代码解析 推荐
2010/07/23 PHP
JS 建立对象的方法
2007/04/21 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
JavaScript闭包相关知识解析
2019/10/19 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
Python学习笔记(二)基础语法
2014/06/06 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
Django 内置权限扩展案例详解
2019/03/04 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
python实现机器人卡牌
2019/10/06 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
美国休闲服装品牌:Express
2016/09/24 全球购物
中专三年学习的个人自我评价
2013/12/12 职场文书
总经理职责
2013/12/22 职场文书
八一建军节感言
2014/02/28 职场文书
学生会辞职信
2015/03/02 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
《桂花雨》教学反思
2016/02/19 职场文书
nginx 防盗链防爬虫配置详解
2021/03/31 Servers
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
python中pymysql包操作数据库方法
2022/04/19 Python