单行 JS 实现移动端金钱格式的输入规则
金钱格式检验属于很普通的需求,记得工作中第一次遇到这个需求的时候,还不太会写正则表达式,搜到了一个类似的解决方案,看着正则的文档改成了自己需要的形式。
但是用户的输入操作是任意的,只是显示提示信息,这种方式虽然可以满足要求,但是感觉不友好。
其实移动端的很多应用在输入金钱时都是屏蔽错误输入,只能输入正确的格式。先看一看金钱格式的输入规则有哪些:
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如何将数字类型转化为没3个一个逗号的金钱格式
3345687687876789123 转化为:xxx,xxx,xxx 复制代码 代码如下: <script type="text/javascript"> window.onload = function(){ //整个测试由小刀提供 var testFun = function( callback, str ){ var tipElem = document.createElement( 'div' ), startTime, duration = 0; for( va
-
单行 JS 实现移动端金钱格式的输入规则
金钱格式检验属于很普通的需求,记得工作中第一次遇到这个需求的时候,还不太会写正则表达式,搜到了一个类似的解决方案,看着正则的文档改成了自己需要的形式. 但是用户的输入操作是任意的,只是显示提示信息,这种方式虽然可以满足要求,但是感觉不友好. 其实移动端的很多应用在输入金钱时都是屏蔽错误输入,只能输入正确的格式.先看一看金钱格式的输入规则有哪些: 1. 不能输入空白字符及字母 2. 只能输入数字及小数点 3. 首位不能为小数点 4. 小数点只能出现一次 5. 小数点后只有两位 6. 不能输入首位是
-
JS对象与json字符串格式转换实例
本文实例讲述了JS对象与json字符串格式转换的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript"&g
-
基于VUE.JS的移动端框架Mint UI的使用
Mint UI GitHub:github.com/ElemeFE/mint 项目主页:mint-ui.github.io/# Demo:elemefe.github.io/mint- 文档:mint-ui.github.io/docs/# 由饿了么前端团队推出的 Mint UI 是一个基于 Vue.js 的移动端组件库.自 6 月初开源以来,根据社区和团队内部的反馈,修复了一些 bug 并新增了部分组件,于本周发布了 0.2.0 版本.本文介绍如何从零开始构建一个使用 Mint UI 的 Vu
-
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
本文实例讲述了js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件.分享给大家供大家参考.具体如下: 完整实例代码点击此处本站下载. 用法 <input type="button" id="btn_dialog" value="打开浮层"/> <div id="dialog-content" style="display:none;">这是内容</div> <sc
-
JS实现移动端实时监听输入框变化的实例代码
如果是在pc端,监听输入框你可能想到focus.blur.hover.onkeyup这些事件,但是如果是在移动端使用使用这些事件用户体验极差,因为你要用户收起键盘并且再点个空白处才生效,甚至还存在很大的兼容差异.那么怎么解决呢? 方案一 以前做一个简单的模糊搜索框的需求,大致思路是定义一个1s左右执行的定时器,定时器函数里面的逻辑是 判断文本框内容的长度,如果跟上一次长度有变化,就走一遍查询,如果没有变化不执行任何操作. 方案二 利用jquery提供的 input propertychange
-
基于JS实现移动端左滑删除功能
废话不多说了,直接给大家贴代码了,具体代码如下所示: <div class="wrap pay-wrap" id="lists"> @foreach (var item in Model) { <div class="pay-list" style="height:90px;margin: 10px 15px 10px 15px;" id="@item.UID"> <div c
-
Vue.js实现移动端短信验证码功能
现在的短信验证码一般为4位或6位,则页面中会相应的显示4个或6个文本框,如图所示 当点击注册进入到输入验证码页面的时候,第一个框自动获取光标,依次输入,不可直接输入第三个或第四个框的值, input输入框是循环出来的,代码如下: <div class="sms_input"> <div v-for="n in sms.numbers-1"><input v-if="sms.show[n-1]" disabled=&q
-
js判断移动端是否安装某款app的多种方法
本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 二:安卓设备:原理:判断是否认识这个协议,认识则直接跳转,不认识
-
JS实现字符串转驼峰格式的方法
本文实例讲述了JS实现字符串转驼峰格式的方法.分享给大家供大家参考,具体如下: 实现效果如:border-bottom-color =>borderBottomColor 传传统方法 分析: 1.转大写,需要用到字符串的toUpperCase()方法 2.去掉-,需要用到字符串方法split(),这样就转成数组了,但数组中的每一个元素依然是字符串,所以可以用循环的方法取到第一个后面的元素 3.取第一个后面的元素的第一个字符,需要用到字符串的charAt()方法 4.第一个字符后面的字符,可以通过
-
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
不想通过CSS自适应在PC端和移动端分别显示不同的样式,那么只能通过在移动端访问PC端网页时跳转到对应的移动端网页了,那么怎么跳转呢,网上也有很多文章说明,以下实现思路经过小编测试过,放心使用. 1.效果图 PC端访问显示: 移动端访问显示: 2.实现: 不考虑移动端搜索引擎优化的话,只需要通过JS判断是否移动端,然后确定是否跳转到指定页面就行了,主要JS如下: //判断是否移动端,如果是则跳转到指定的URL地址 function browserRedirect(url) { //只读的字符串,
随机推荐
- Access 导入到SQL Server 2005的方法小结
- python实现八大排序算法(1)
- iOS11适配工作及导航栏影藏返回文字的解决方法
- php数组合并array_merge()函数使用注意事项
- PHP正则删除html代码中a标签并保留标签内容的方法 原创
- 全面了解javascript中的错误处理机制
- 微信红包随机生成算法php版
- JavaScript 无缝上下左右滚动加定高定宽停顿效果(兼容ie/ff)
- JS实现的模仿QQ头像资料卡显示与隐藏效果
- 完美介绍linux环境变量与部分命令
- iASP-让unix支持asp
- Android实现返回键功能
- springboot整合 beatlsql的实例代码
- 使用map实现单词转换的实例分析
- 自动化Nginx服务器的反向代理的配置方法
- Android中如何安全地打印日志详解
- 利用python将json数据转换为csv格式的方法
- 解决python nohup linux 后台运行输出的问题
- nodejs 十六进制字符串型数据与btye型数据相互转换
- 详解vue-cli官方脚手架配置