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. 【工具大道】使用SSH远程登录Mac 电脑

    本文地址 一.打开ssh Mac Terminal是自带SSH的,可以用whereis来看看: $ whereis ssh 但是在现有进程中找不到ssh对应的进程: $ ps aux | grep s ...

  2. 理解 tf.Variable、tf.get_variable以及范围命名方法tf.variable_scope、tf.name_scope

    tensorflow提供了通过变量名称来创建或者获取一个变量的机制.通过这个机制,在不同的函数中可以直接通过变量的名字来使用变量,而不需要将变量通过参数的形式到处传递. 1. tf.Variable( ...

  3. php 验证身份证号

    function validation_filter_id_card($id_card){ if(strlen($id_card)==18){ return idcard_checksum18($id ...

  4. 15.io流,递归

    一.file的常用api 二.算法:递归1.定义:递归算法是把问题转化为规模缩小了的同类问题的子问题.然后递归调用函数(或过程)来表示问题的解.一个过程(或函数)直接或间接调用自己本身,这种过程(或函 ...

  5. GitHub 优秀的 Android 开源项目 (精品)

    1原文地址为 http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea Android开源项目系列汇总已完成,包 ...

  6. 深度学习框架PyTorch一书的学习-第三章-Tensor和autograd-2-autograd

    参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码,下面是本人的笔记 torch.autograd就是为了方 ...

  7. Spring Security(十四):5.4 Authorize Requests

    Our examples have only required users to be authenticated and have done so for every URL in our appl ...

  8. Jmeter自定义Java请求,继承AbstractJavaSamplerClient

    首先,使用Eclipse新建一个项目,然后从Jmeter的lib/ext目录下中拷贝ApacheJMeter_java.jar和ApacheJMeter_core.jar两个文件,然后引入这两个JAR ...

  9. EntityFramework Core并发深挖详解,一纸长文,你准备好看完了吗?

    前言 之前有关EF并发探讨过几次,但是呢,博主感觉还是有问题,为什么会觉得有问题,其实就是理解不够透彻罢了,于是在项目中都是用的存储过程或者SQL语句来实现,利用放假时间好好补补EF Core并发的问 ...

  10. 自己制作Chrome便携版实现多版本共存

    本文只针对Windows下的Chrome浏览器的使用. 有时候我们需要使用老版本Chrome,或者仅仅体验一下最新版. 上古时代有IETester用来测试多个IE版本,和本机的IE不冲突. Chrom ...