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)) { ...
随机推荐
- 2018-8-10-win10-uwp-win2d-使用-Path-绘制界面
title author date CreateTime categories win10 uwp win2d 使用 Path 绘制界面 lindexi 2018-08-10 19:17:19 +08 ...
- H3C RIP路由表的维护
- 2019-10-18-WPF-高速书写-StylusPlugIn-原理
title author date CreateTime categories WPF 高速书写 StylusPlugIn 原理 lindexi 2019-10-18 21:23:46 +0800 2 ...
- Vue基础练习之Todo List
<body> <div id = "app"> <input type="text" v-model="inputVal ...
- linux 安装一个中断处理
如果你想实际地"看到"产生的中断, 向硬件设备写不足够; 一个软件处理必须在系统中配 置. 如果 Linux 内核还没有被告知来期待你的中断, 它简单地确认并忽略它. 中断线是一个 ...
- Linux 内核 中断 urb
函数 usb_fill_int_urb 是一个帮忙函数, 来正确初始化一个 urb 来发送给 USB 设备的 一个中断端点: void usb_fill_int_urb(struct urb *urb ...
- 基于koa2操作mysql封装例子
新建better-mysql.js const mysql = require('mysql'); const config = require('../config/sqlConfig.js') l ...
- 【2016常州一中夏令营Day1】
Problem 1. suffix给定一个单词,如果该单词以 er. ly 或者 ing 后缀结尾,则删除该后缀(题目保证删除后缀后的单词长度不为 0),否则不进行任何操作.Input输入一行,包含一 ...
- 如何更优雅地对接第三方API
本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程 ...
- 闲着没事,做个chrome浏览器插件,适合初学者
时光偷走的,永远都是我们眼皮底下看不见的珍贵. 本插件功能:替换掉网页中的指定图片的src地址. 使用插件前: 使用插件后: 鲜花(闲话):这个网站的不加水印的图片连接被保存在,图片的data-ima ...