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 ...
随机推荐
- windows 中安装及使用 SSH Key
转自 简书技术博客:https://www.jianshu.com/p/a3b4f61d4747 联系管理员开通ssh功能: 重新创建环境: 下载工具包到本地机器wsCli 0.4 解压后,把相应的w ...
- 使用inno setup 制作安装文件-demo1
; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "查体管理系统" # ...
- Matlab之视角旋转函数[转]
Matlab中有两个视角旋转函数:view和rotate,下面详细介绍: view: 一: view(az,el):az是方位角,el是仰角,单位均是度.具体: 以x轴从左到右(即从小到大)平行放置在 ...
- 使用vlc实现视频TS流的推送
鉴于Mpeg TS流播放的需求,使用 VLC作为Server来实现输出Mpeg TS 本文仅涉及如何使用VLC的Command来实现作为视频流Server通常可以使用下述四种方式来推送Mpeg ...
- 实现session(session数据)的共享,解决分布式session共享
为什么要实现共享? 首先我们应该明白,为什么要实现共享,如果你的网站是存放在一个机器上,那么是不存在这个问题的,因为会话数据就在这台机器,但是如果你使用了负载均衡把请求分发到不同的机器呢?这个时候会话 ...
- C++的iterator与const_iterator
所有的标准库容器都定义了相应的迭代器类型.迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用迭代器而不是下标操作访问容器元素. 1.iterator,const_iterator作用:遍历容器内 ...
- 用bundler安装jeklly
为什么要写这篇文章呢?因为官方的安装文档里,ruby的很多库没有说明怎么安装.所以需要重点说明一下.1.我的安装环境是vultr的16.04版的ubuntu.2.因为ruby的扩展库好多都是Gcc编译 ...
- fastdfs 图片服务器 使用java端作为客户端上传图片
之前有说道搭建fastdfs作为图片服务器,但是没有说明如何真正在代码里调用,那么今天大致讲一下,如何使用java客户端进行上传 首先你得要有一个客户端,导入到eclipse中即可 git地址如下: ...
- Python Redis pipeline操作和Redis乐观锁保持数据一致性
Redis是建立在TCP协议基础上的CS架构,客户端client对redis server采取请求响应的方式交互. redis 乐观锁:也可理解为版本号比较机制,主要是说在读取数据逇时候同时读取其版本 ...
- 使用canvas绘制扇形图
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...