input标签的oninput事件

要求输入框只输入正实数,包括整数和小数。

具体要求:整数部分不超过7位,可以没有小数,若有位数不超过2位。

<input type="text" id="myId" value="0" style="width: 100px;" oninput="InputOnchange(this.id);" />
<script>
function InputOnchange(thisId) {
//验证数据
var valueCurrent = document.getElementById(thisId).value;
var value = valueCurrent;
//不是数字
if (/[^\d]/.test(valueCurrent)) {
//含小数点
if (valueCurrent.indexOf(".") != -1) {
var valueArray = valueCurrent.split(".");
//小数点不能首位
if (valueCurrent.indexOf(".") == 0) {
value = '';
}
//小数点只有一个
else if (valueArray.length > 2) {
value = valueCurrent.substring(0, valueCurrent.length - 1);
}
//小数位数为2,且是数字
else if (valueArray[1].length > 2) {
valueArray[1] = valueArray[1].substring(0, 2);//valueArray[1].length - 1
if (/[^\d]/.test(valueArray[1])) {
valueArray[1] = valueArray[1].replace(/[^\d]/g,'');
}
value = valueArray.join('.');
}
//小数部分也只能是数字
else if (/[^\d|\.]/.test(valueCurrent)) {
value = valueCurrent.replace(/[^\d|\.]/g, '');
}
}
else{
value = valueCurrent.replace(/[^\d]/g, '');
}
}//开头不能连续两个0
else if (valueCurrent.substring(0,1) == "0") {
if (valueCurrent.substring(1,2) != ".") {
value = "0";
}
}
//整数位数不超过7位
else if (valueCurrent.length>7) {
value = valueCurrent.substring(0,7);
}
document.getElementById(thisId).value = value;
//...省略部分代码...//
}
</script>

JS 验证输入框输入 只允许输入正实数(正整数,正小数),其他情况下不能输入 oninput事件的更多相关文章

  1. js验证输入框

    项目开发中,都会有对表单form中的input输入框进行一些限制验证 如: <!DOCTYPE html><html lang="en"> <head ...

  2. C++数据个数未知情况下的输入方法

    我们经常需要输入一串数,而数据个数未知.这时候就不能以数据个数作为输入是否结束的判断标准了. 这种情况下,我们可以用以下两种方法输入数据. 方法一:判断回车键(用getchar()=='\n'即可判断 ...

  3. js 验证输入框金额

    $("#ipt1").keyup(function () { var reg = $(this).val().match(/\d+\.?\d{0,2}/); var txt = ' ...

  4. js 验证输入框是否为空

    很多时候,菜鸟在对输入框是否输入值进行验证时,总会把输入“空字符串”这一状况给忽略掉.嗯,我就这样,所以记下,以后回忆下还是不错滴 <input type="text" id ...

  5. js验证input输入框(字母,数字,符号,中文)

    [javascript]代码库 <h1>js验证输入框内容</h1> <br /> <br /> 只能输入英文 <input type=" ...

  6. js 验证input 输入框

    <h1>js验证输入框内容</h1><br /><br /> 只能输入英文<input type="text" onkeyup ...

  7. 在客户端先通过JS验证后再将表单提交到服务器

    问题:想要在客户端先通过JS验证后再将表单提交到服务器 参考资料: jQuery 事件 - submit() 方法 试验过程: 服务器端使用PHP <html> <head> ...

  8. java判断用户输入的是否至少含有N位小数

    判断用户输入的是否至少含有N位小数. 1.当用户输入的是非数字时抛出异常,返回false. 2.当用户输入数字是,判断其数字是否至少含有N位小数,如果不含有,返回false. 3.当用户输入的数字的小 ...

  9. js验证身份证号,超准确

    js验证身份证号,超准确 看程序前先来了解下身份证号的构成:身份证号分为两种,旧的为15位,新的为18位.身份证15位编码规则:dddddd yymmdd xx p    其中 dddddd:地区码  ...

随机推荐

  1. 创建两个SAP系统之间的RFC信任关系

    一种常见的场景是企业运行着多个SAP系统(ERP/SRM/CRM),用户希望在AA1系统中使用BB1系统的事务.如果直接使用RFC调用另一系统的事务的话,则会弹出登陆框,让用户再次输入帐号密码... ...

  2. python mysql数据库操作

    一.pymysql 模块安装(本文博客推荐:https://www.cnblogs.com/clschao/articles/10023248.html) pip3 install pymysql 二 ...

  3. aliyun mysql

    https://segmentfault.com/q/1010000009603559?sort=created

  4. TIPS FOR IMPROVING PERFORMANCE OF KAFKA PRODUCER

    When we are talking about performance of Kafka Producer, we are really talking about two different t ...

  5. 解决Go依赖包安装问题

    最近在学习Go编写后端服务,先放出谢大的书镇楼: https://github.com/astaxie/build-web-application-with-golang/blob/master/zh ...

  6. tensorflow中的batch_normalization实现

    tensorflow中实现batch_normalization的函数主要有两个: 1)tf.nn.moments 2)tf.nn.batch_normalization tf.nn.moments主 ...

  7. RESTful学习笔记

    作为一名只有几个月IT自学经历的人,在接受新知识的时候总是想找到浅显易懂的方式去理解,但往往却很难找到相关的文章,大部分都是针对具有一定经验的开发人员,因此在看了很多相关的文章才对RESTful架构有 ...

  8. CSAPP:第三章程序的机器级表示1

    CSAPP:程序的机器级表示1 关键点:数据格式.操作数指示符. 数据格式访问信息操作数指示符举例说明 数据格式   术语字(word)表示16位数据类型,32位数为双字(double words), ...

  9. 谈谈ISCSI\NAS\SAN及SAS之间的区别及优缺点--待补充

    在中国市场,中小企业存储的需求主要有以下三点:软件及硬件设备简便易用,使非IT专业人士也能进行部署和管理:满足基本业务的存储需求,并可进行灵活扩展:价格合理,不会使企业由于成本问题而耽误关键业务数据的 ...

  10. Springboot根据浏览器实现网站资源国际化

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 根据浏览器地区主动选择资源 1.创建资源化文件 resource目录下创建messag ...