js强制限制输入允许两位小数
<input type="text" value="@item.CostCash.Value.ToString("#0.00")" class="cost" onKeyUp="amount(this)" onBlur="overFormat(this)" />
/**
* 实时动态强制更改用户录入
* arg1 inputObject
**/
function amount(th) {
var regStrs = [
['^0(\\d+)$', '$1'], //禁止录入整数部分两位以上,但首位为0
['[^\\d\\.]+$', ''], //禁止录入任何非数字和点
['\\.(\\d?)\\.+', '.$1'], //禁止录入两个以上的点
['^(\\d+\\.\\d{2}).+', '$1'] //禁止录入小数点后两位以上
];
for (var i = ; i < regStrs.length; i++) {
var reg = new RegExp(regStrs[i][]);
th.value = th.value.replace(reg, regStrs[i][]);
}
}
/**
* 录入完成后,输入模式失去焦点后对录入进行判断并强制更改,并对小数点进行0补全
* arg1 inputObject
**/
function overFormat(th) {
var v = th.value;
if (v === '') {
v = '0.00';
} else if (v === '') {
v = '0.00';
} else if (v === '0.') {
v = '0.00';
} else if (/^+\d+\.?\d*.*$/.test(v)) {
v = v.replace(/^+(\d+\.?\d*).*$/, '$1');
v = inp.getRightPriceFormat(v).val;
} else if (/^\.\d$/.test(v)) {
v = v + '';
} else if (!/^\d+\.\d{}$/.test(v)) {
if (/^\d+\.\d{}.+/.test(v)) {
v = v.replace(/^(\d+\.\d{}).*$/, '$1');
} else if (/^\d+$/.test(v)) {
v = v + '.00';
} else if (/^\d+\.$/.test(v)) {
v = v + '';
} else if (/^\d+\.\d$/.test(v)) {
v = v + '';
} 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 (/^+\d+\.?\d*$/.test(v)) {
v = v.replace(/^+(\d+\.?\d*)$/, '$1');
ty = false;
} else {
v = '0.00';
}
}
th.value = v;
}
js强制限制输入允许两位小数的更多相关文章
- 【前端开发】限制input输入保留两位小数
<input type="text" name='amount' id="cash_num" placeholder="请输入金额" ...
- js取整并保留两位小数的方法
js 四舍五入函数 toFixed(),里面的参数 就是保留小数的位数.注意 toFixed()方法只针对数字类型,如果是字符类型需要使用Number()等方法先转换数字类型再使用 document. ...
- 用js正则判断输入的两位字符,第一位是数字16进制的,第二位是I、O、Q、U除外的字母(A到Z)
项目中遇到客户的需求变化,要验证某个数据的正确性,判断输入的两位字符,第一位是数字16进制的,第二位是I.O.Q.U除外的字母(A到Z). 本来对js不熟练,网上参考了一下js正则验证的规则,使用正则 ...
- js正则匹配两位小数
今天写一个用js正则校验最多保留两位小数的格式. a = /^\d+|\d+\.\d{1,2}$/; 测试 a.test(1.222); 结果:true 一下蒙了,怎么可能,最后找了好久,原来需要把^ ...
- 数字千分位处理,number.js,js保留两位,整数强制保留两位小数
杨龙飞 杨龙飞 杨龙飞 杨龙飞 杨龙飞 杨龙飞 官方文档:https://www.customd.com/articles/14/jquery-number-format-redux 1.千分位 $. ...
- JS限制input输入的为数字并且有小数的时候最多保留两位小数
JS限制input用户输入的为数字并且有小数的时候最多保留两位小数,代码如下: html部分: <input type="number" onkeypress="r ...
- js只允许输入数字和两位小数
一.js只允许输入数字和两位小数 //只允许输入数字和两位小数 function clearNoNum(obj) { obj.value = obj.value.replace(/[^\d.]/g, ...
- js限制输入数字能输入小数点,js定义数组,js往数组中添加数据,js将字符型转为数字型,除法结果保留两位小数——js小测:计算比赛得分
一个朋友跟我说要去给某个比赛算分: 规则:去掉最低分最高分求平均分: 最近在学习大数据可视化——图谱,用到js一些东西,所以今天就用js练练 用到知识点: js限制输入数字能输入小数点,js定义数组, ...
- 公共的强制保留两位小数的js方法
强制保留两位小数的js方法 //写一个公共的强制保留两位小数的js方法 function toDecimal2 (x) { var f = parseFloat(x) if (isNaN(f)) { ...
随机推荐
- Vue之webpack的entry和output
一.文件结构 二.index.html <!DOCTYPE html> <html lang="en"> <head> <meta cha ...
- webpack学习(四)配置plugins
1 plugins是什么??? 如果学过vue和react肯定知道生命周期函数,而生命周期函数实际上就是当程序运行在某个时刻一定会发生的函数. plugins其实也是如此,我们在项目中配置相应的plu ...
- H3C OSPF可选配置命令
- python基础十四之匿名函数
匿名函数 处理简单问题的简化函数,关键字lambda. # 格式:函数名 = lambda 参数:返回值 anonymity = lambda s: s ** 0.5 print(anonymity( ...
- UPC个人训练赛第十五场(AtCoder Grand Contest 031)
传送门: [1]:AtCoder [2]:UPC比赛场 [3]:UPC补题场 参考资料 [1]:https://www.cnblogs.com/QLU-ACM/p/11191644.html B.Re ...
- H3C IP地址拒绝及释放
- vue-learning:33 - component - 内置组件 - 过渡组件transition
vue内置过渡组件transition 目录 什么是过渡 基本过渡或动画实现的语法 css过渡动画:transition / animation js过渡:特定事件钩子函数 各种情形下的过渡实现,使用 ...
- Koa搭建简单服务器
1. dependencies "co-mysql": "^1.0.0", "koa": "^2.7.0", " ...
- ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(3)
接下来完成用户.角色的增删查改,以及用户角色.权限的设置 对用户表.角色表做了一些扩展如下[可以更加自己需要增减字段] 相应的M_UserProfile.cs.M_Roles.cs进行扩展 using ...
- es6笔记 day3---Promise
作用:解决异步回调问题 先知道它的大概语法就好了,这个东西需要平时用到才知道它的用处 语法: let promise= new Promise(function(resolve,reject){ // ...