单行 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 相关文章推荐
jquery下异步提交表单 异步跨域提交表单
Nov 17 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
Aug 07 Javascript
js出生日期 年月日级联菜单示例代码
Jan 10 Javascript
jQuery实现精美的多级下拉菜单特效
Mar 14 Javascript
分享10个原生JavaScript技巧
Apr 20 Javascript
javascript相关事件的几个概念
May 21 Javascript
js编写当天简单日历效果【实现代码】
May 03 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
Jul 17 Javascript
javascript回调函数详解
Feb 06 Javascript
vue项目中使用百度地图的方法
Jun 08 Javascript
浅谈Vue static 静态资源路径 和 style问题
Nov 07 Javascript
JS Object构造函数之Object.freeze
Apr 28 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
关于时间计算的结总
2006/12/06 PHP
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
js实现无刷新监听URL的变化示例代码详解
2020/06/03 Javascript
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
python 元组的使用方法
2020/06/09 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
买房子个人收入证明
2014/10/12 职场文书
部门2014年度工作总结
2014/11/12 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python
Python多线程 Queue 模块常见用法
2021/07/04 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers