单行 JS 实现移动端金钱格式的输入规则


Posted in Javascript onMay 22, 2017

金钱格式检验属于很普通的需求,记得工作中第一次遇到这个需求的时候,还不太会写正则表达式,搜到了一个类似的解决方案,看着正则的文档改成了自己需要的形式。

但是用户的输入操作是任意的,只是显示提示信息,这种方式虽然可以满足要求,但是感觉不友好。

其实移动端的很多应用在输入金钱时都是屏蔽错误输入,只能输入正确的格式。先看一看金钱格式的输入规则有哪些:

1. 不能输入空白字符及字母
2. 只能输入数字及小数点
3. 首位不能为小数点
4. 小数点只能出现一次
5. 小数点后只有两位
6. 不能输入首位是 0 的多位数

 看似很简单的问题,其实要考虑的很周全才可以。但是代码可以写的很简洁,我费了不少心思摸索出来的。对于校验部分确实只需要一行

function moneyFormat(str) {
  return str.replace(/[^\d\.]|^\./g, '').replace(/\.{2}/g, '.').replace(/^([1-9]\d*|0)(\.\d{1,2})(\.|\d{1})?$/, '$1$2').replace(/^0\d{1}/g, '0');
}

时间不早了,就写这么多吧,最后贴上我在 CodePen 写的 Demo,希望能帮到有需要的人。

单行 JS 实现移动端金钱格式的输入规则

以上所述是小编给大家介绍的单行 JS 实现移动端金钱格式的输入规则,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
实现连缀调用的map方法(prototype)
Aug 05 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
Jun 10 Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
JavaScript通过代码调用Flash显示的方法
Feb 02 Javascript
jQuery日历插件datepicker用法详解
Mar 03 Javascript
jQuery EasyUI 入门必看
Jun 03 Javascript
AngularJs自定义服务之实现签名和加密
Aug 02 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
Jul 10 Javascript
vue-for循环嵌套操作示例
Jan 28 Javascript
JS中min函数实例讲解
Feb 18 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
Jul 20 Javascript
JavaScript表单验证实现代码
May 22 #Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 #jQuery
原生JS实现N级菜单的代码
May 21 #Javascript
Ionic + Angular.js实现图片轮播的方法示例
May 21 #Javascript
详解Angular2中Input和Output用法及示例
May 21 #Javascript
Angular2中如何使用ngx-translate进行国际化
May 21 #Javascript
详解angularjs利用ui-route异步加载组件
May 21 #Javascript
You might like
PHP中动态显示签名和ip原理
2007/03/28 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
ThinkPHP中redirect用法分析
2014/12/05 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
javascript解决innerText浏览器兼容问题思路代码
2013/05/17 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
vue、react等单页面项目应该这样子部署到服务器
2018/01/03 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
js实现筛选功能
2020/11/24 Javascript
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
详解python之简单主机批量管理工具
2017/01/27 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
作为网站管理者应当如何防范XSS
2014/08/16 面试题
Why we need EJB
2016/10/20 面试题
检察官就职演讲稿
2014/01/13 职场文书
结婚邀请函范文
2014/01/14 职场文书
委托书范本
2014/04/02 职场文书
租赁协议书范本
2014/04/22 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书