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

相关文章

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. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

poj 2135 有流量限制的最小费用最大流

题意: 农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。 农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。 约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。 如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。 解析: 如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。 但是现在要去要回

poj 3422 有流量限制的最小费用流 反用求最大 + 拆点

题意: 给一个n*n(50 * 50) 的数字迷宫,从左上点开始走,走到右下点。 每次只能往右移一格,或者往下移一格。 每个格子,第一次到达时可以获得格子对应的数字作为奖励,再次到达则没有奖励。 问走k次这个迷宫,最大能获得多少奖励。 解析: 拆点,拿样例来说明: 3 2 1 2 3 0 2 1 1 4 2 3*3的数字迷宫,走两次最大能获得多少奖励。 将每个点拆成两个

poj 2195 bfs+有流量限制的最小费用流

题意: 给一张n * m(100 * 100)的图,图中” . " 代表空地, “ M ” 代表人, “ H ” 代表家。 现在,要你安排每个人从他所在的地方移动到家里,每移动一格的消耗是1,求最小的消耗。 人可以移动到家的那一格但是不进去。 解析: 先用bfs搞出每个M与每个H的距离。 然后就是网络流的建图过程了,先抽象出源点s和汇点t。 令源点与每个人相连,容量为1,费用为

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏