JS限制文本框输入金额并保留两位小数

2024-05-05 10:38

本文主要是介绍JS限制文本框输入金额并保留两位小数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>JS限制文本框输入金额并保留两位小数</title>
<script type="text/javascript">/**
* 实时动态强制更改用户录入
* arg1 inputObject
**/
function amount(th){var regStrs = [['^0(\\d+)$', '$1'], //禁止录入整数部分两位以上,但首位为0['[^\\d\\.]+$', ''], //禁止录入任何非数字和点['\\.(\\d?)\\.+', '.$1'], //禁止录入两个以上的点['^(\\d+\\.\\d{2}).+', '$1'] //禁止录入小数点后两位以上];for(var i=0; i<regStrs.length; i++){var reg = new RegExp(regStrs[i][0]);th.value = th.value.replace(reg, regStrs[i][1]);}
}/**
* 录入完成后,输入模式失去焦点后对录入进行判断并强制更改,并对小数点进行0补全
* arg1 inputObject
**/
function overFormat(th){var v = th.value;if(v === ''){v = '0.00';}else if(v === '0'){v = '0.00';}else if(v === '0.'){v = '0.00';}else if(/^0+\d+\.?\d*.*$/.test(v)){v = v.replace(/^0+(\d+\.?\d*).*$/, '$1');v = inp.getRightPriceFormat(v).val;}else if(/^0\.\d$/.test(v)){v = v + '0';}else if(!/^\d+\.\d{2}$/.test(v)){if(/^\d+\.\d{2}.+/.test(v)){v = v.replace(/^(\d+\.\d{2}).*$/, '$1');}else if(/^\d+$/.test(v)){v = v + '.00';}else if(/^\d+\.$/.test(v)){v = v + '00';}else if(/^\d+\.\d$/.test(v)){v = v + '0';}else if(/^[^\d]+\d+\.?\d*$/.test(v)){v = v.replace(/^[^\d]+(\d+\.?\d*)$/, '$1');}else if(/\d+/.test(v)){v = v.replace(/^[^\d]*(\d+\.?\d*).*$/, '$1');ty = false;}else if(/^0+\d+\.?\d*$/.test(v)){v = v.replace(/^0+(\d+\.?\d*)$/, '$1');ty = false;}else{v = '0.00';}}th.value = v; 
}
</script>
</head>
<body>
<input type="text" name="city" value="" onKeyUp="amount(this)" onBlur="overFormat(this)" />
</body>
</html>
转载:http://blog.csdn.net/u014676619/article/details/53636819?utm_source=itdadao&utm_medium=referral

这篇关于JS限制文本框输入金额并保留两位小数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961503

相关文章

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在