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 ...
随机推荐
- [转] JDBC中的Statement和PreparedStatement的区别
以Oracle为例吧 Statement为一条Sql语句生成执行计划,如果要执行两条sql语句select colume from table where colume=1;select colume ...
- virtualbox 最小化安装centos7 配置双网卡(nat和桥接)记录----已经过期
该文章已经过期 请参考另一篇文章:virtualbox 安装centos7 配置桥接网卡,实现主机和虚拟机互通,虚拟机可以访问外网,解决无法上网问题 先说明一下为什么要配置双网卡? 配置nat ...
- mysql在插入或更新的时候对一个字段赋递增值
在我们有一个需求是更新某个表里面的某个字段,让这个字段变成一个递增的值,或者插入某个表中使得某些字段的值是递增的.下面我们来看看具体的操作: 更改表字段为递增 首先设置一个变量,初始值为任意数值,这里 ...
- 7 款顶级的开源 Web 分析软件
Web 分析无非就是 Web 流量的测量.但它并不限于测量网络流量,还包括: 分析 数据采集 为了了解和优化网页而上报网络数据 Google Analytics是最广泛使用的基于云的网络分析服务.不过 ...
- Vue(七):computed计算属性
简介 计算属性关键词: computed. 计算属性在处理一些复杂逻辑时是很有用的. 实例1 可以看下以下反转字符串的例子: <div id="app"> {{ mes ...
- 牛腩学Kotlin做Android应用
牛腩学Kotlin做Android应用,蹭热度视频,边学边做, 01-kotlin插件安装及hello world 02-kotlin基础语法速览 哔哩哔哩观看地址:http://www.bilibi ...
- Vivado神器之DocNav
Vivado2014安装完成以后会有2个文件出现在桌面上,具体如下图: 上一个是vivado的软件,是主要的工具,但是一定不要忽略下面一个DocNav,今天我要讲的就是这个工具,打开一个会看到这样一个 ...
- java 字符串格式化
转:http://blog.sina.com.cn/s/blog_af26e3330101988v.html 1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化 ...
- vue-webpack快速建立项目模板
- 菜鸟教程之工具使用(一)——Git的基本使用
Git是进来比较火的版本控制工具,大有取代svn的趋势.关于两种孰好孰坏我就不多费口舌了,网上关于二者的对比文章比比皆是.作为一个IT人员关注行业的发展动态是必须的,所以抽空研究了一下Git的使用.跟 ...