input 数字输入控制(含小数)
1,可以在keypress里验证输入的字符的合法性。
// 数字控件的入力控制
$("input.comma,input.comma1,input.comma2").keypress(function (e) {
var key = String.fromCharCode(e.charCode);
// 数字和点以外不能输入
if (!/[0-9.-]/.test(key)) {
return false;
} var digit = 0;
if ($(this).hasClass("comma")) {
digit = 0;
} else if ($(this).hasClass("comma1")) {
digit = 1;
} else if ($(this).hasClass("comma2")) {
digit = 2;
}
var previewText = this.value.substring(0, this.selectionStart) + key + this.value.substring(this.selectionEnd);
if (previewText != '-' && previewText != '.' && !$.isNumeric(previewText)) {
return false;
} if (digit == 0) {
// 整数的时候、不能输入点
if (previewText.indexOf('.') > -1) {
return false;
}
} else {
// 小数的时候、超过小数位数不能输入
var parts = previewText.split('.');
if (parts.length > 1) {
if (parts[1].length > digit) {
return false;
}
}
}
});
2,在光标失去blur事件里,值已经输入完了,可以做值范围检查。或者由于拷贝过来的文字,keypress是验证不到的,可以再做一次数值检查,
不是数字的话,直接清空。
// 光标失去的时候,检查输入类型,值范围
$("input.comma,input.comma1,input.comma2").blur(function (e) {
var val = removeComma(this.value);
if (!$.isNumeric(val)) {
// 数字以外,直接清空
$(this).val('');
return false;
}
// 值范围检查
if ($(this).attr("numberRange")) {
var range = $(this).attr("numberRange").split(',');
var min = parseFloat(range[0]);
var max = parseFloat(range[1]);
var curValue = parseFloat(val); // 最大値
if (curValue > max) {
$(this).val(format_number(max));
$(this).trigger("change");
}
// 最小値
if (val < min) {
$(this).val(format_number(min));
$(this).trigger("change");
}
}
});
input 数字输入控制(含小数)的更多相关文章
- input内强制保留小数点后两位 位数不足时自动补0
input内强制保留小数点后两位 位数不足时自动补0 小数点后位数超出2位时进行四舍五入 需引入jquery包 1.11.2版本 1 function xiaoshu(x) 2 { 3 var f = ...
- Python 含小数的十、二进制相互转换
''' 二进制->十进制:bTod 整数部分:a乘以2的n次方(n:a后面的整数位数) 小数部分:a乘以2的-n次方(n:a是小数点后几位) 十进制->二进制dTob 整数部分:短除法(除 ...
- 金额input框控制只能小数点后有两位的有效数字
<%@include file="/WEB-INF/jsp/common/common.jsp" %> <title>价格录入限定</title> ...
- .net core mvc中input保留多位小数
本篇介绍:如何在mvc中使用html标签保留多位小数 你需要知道: @html标签的使用: https://blog.csdn.net/pasic/article/details/7093802 js ...
- [前端] html限制input输入数字和小数
限制input只能输入数字和小数 html代码 <input type="text" style="width:50px" name="widt ...
- vue 中 限制 input 输入数字、小数位数等
限制小数位数 <input type="number" @keydown="handleInput2" placeholder="请输入或查看& ...
- arcgis api for js入门开发系列七图层控制(含源代码)
上一篇实现了demo的地图分屏对比模块,本篇新增图层控制模块,截图如下(源代码见文章底部): 图层控制模块实现的思路如下: 1.在地图配置文件map.config.js里面配置图层目录树节点信息,作为 ...
- input属性控制弹出键盘类型
/** * ios弹起数字键盘有三种方法 * 1. <input type="number"> 可以弹起带有小数点的键盘,可以键盘不干净,有其它各种字符,可切换 ...
- input输入框控制字数
HTML: <input class = "remark" type = "text" maxlength = "500"> J ...
随机推荐
- Android Developers:从一个Activity获取结果
启动其它Activity不是单向的.你也能启动其它Activity并获取一个返回结果.为了获取一个结果,调用startActivityForResult()方法(替代startActivity()方法 ...
- C#基础第九天-作业-储蓄账户(SavingAccount)和信用账户(CreditAccount)
要求1:完成以下两种账户类型的编码.银行的客户分为两大类:储蓄账户(SavingAccount)和信用账户(CreditAccount),两种的账户类型的区别在于:储蓄账户不允许透支,而信用账户可以透 ...
- JPA之@GeneratedValue注解(转)
JPA的@GeneratedValue注解,在JPA中,@GeneratedValue注解存在的意义主要就是为一个实体生成一个唯一标识的主键(JPA要求每一个实体Entity,必须有且只有一个主键), ...
- Maven pom.xml中的元素modules、parent、properties以及import(转)
前言 项目中用到了maven,而且用到的内容不像利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)用的那么简单:maven的核心是pom.xml,那么我就它 ...
- 关于QueryCache的一次打脸
[背景问题] 前一段时间给一套MySQL数据库加上了监控,运行一段时间后有人反馈监控到的insert,update,delete,select的数量中select的数量有像比 本应该的量少了不少! 我 ...
- tensorflow省钱方案-ml-engine
google cloud有专门的ml-engine(machine learning engine)模块,可以直接用来跑tensorflow,不用像虚拟机一样开关机.只需要根据需要指定配置就行.收费分 ...
- [svc]ssh批量分发key/批量用户管理
centos6 sshpass批量分发key yum install sshpass -y ssh-keygen -t dsa -f ~/.ssh/id_dsa -P "" 命令说 ...
- UISwipeGestureRecognizer 左右事件捕捉
转自:http://blog.163.com/china_uv/blog/static/117137267201252102612185/ UISwipeGestureRecognizer 左右事件相 ...
- Project Euler:Problem 32 Pandigital products
We shall say that an n-digit number is pandigital if it makes use of all the digits 1 to n exactly o ...
- select元素添加option的add()方法 | try{}catch{}
1.javascript中的select元素添加option使用add()方法 select的add方法,第一个参数是需要被添加的option元素,第二个参数决定了被添加的位置 普通浏览器中,第二个参 ...