代码先锋网 代码片段及技术文章聚合

js、jquery输入框input限制只能输入数字 0 和 正整数、负整数(第一位输入0,第二位输入大于0的数字时候自动清空第一位的0)

技术标签: jquery  HTML  JavaScript  javascript  jquery  input

需求:输入框只能输入0、 正整数 、负整数;只能输入一个负号且只能在最前面输入负号;第一位输入0,第二位输入大于0的数字时候自动清空第一位的0(例如:01 为 1; 00 为 0;-0 为 0)。

1、使用onkeyup 只能输入0、正整数、负整数,只能输入一个负号且只能在最前面输入负号,但不能控制 输入0时的情况 。

 

<input type="text" name="phone" class="layui-input" onkeyup="value=value.match(/^-?[0-9]\d*$/)||value.match(/-?/)">

2、实现需求,input先绑定onkeyup,再写一个控制输入0 的方法。我想在页面多地方调用就在input 里面加 num-input类名就可以了。

<input type="text" name="phone" class="layui-input num-input" onkeyup="value=value.match(/^-?[0-9]\d*$/)||value.match(/-?/)">

 

 

//输入框只能输入数字 0 正整数 负整数
$(document).on('input', '.num-input', function () {
    let val = $(this).val();
   //输入大于0的数字时候自动清空前面的0
    if (val > 0) {// 01 => 1
        if (val[0] == 0) {
            val = val.substr(1);
        }
    } else if (val == 0) {
        if (val[0] == 0) {// 00 => 0
            val = val.slice(0, 1);
        } else if(val[0] == "-"){ // -0 => 0
            val = 0;
        }
    } else {
        if (val[1] == 0) {// -2  在中间写0 -02 => 0
            val = 0;
        }
    }
    $(this).val(val);
});

 

版权声明:本文为qq_40015157原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40015157/article/details/112601862

智能推荐

C语言 有四位正整数,在传递过程中是加密的, 每位数字都加上5,然后用和除于10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。...

某公司采用公用电话传递数据,数据是四位的正数,在传递过程中是加密的, 每位数字都加上5,然后用和除于10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 输入4位 0~9 之间的数字:4 5 7 9 数字 4 加5除10余后 = 9 数字 5 加5除10余后 = 0 数字 7 加5除10余后 = 2 数字 9 加5除10余后 = 4 再经调换最后得到加密处理过后得到的数据为: &nb...

校验input只能输入0~100(包括0和100)的数字和只能输入0和正整数

校验input只能输入0~100(包括0和100)的数字和只能输入0和正整数有很多方法,小学生今天分享一种,自认为还不错的。 这个只需要在input框里面加上class就可以完成校验了。  之所以做这个分享,是因为有一次我做输入框校验的时候,没有找到特别合适的方法。 希望对大家有帮助。...

1、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。要求输入一个四位

1、 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。要求输入一个四位整数,打印出加密后的结果。...

Python案例89:加密数字,输入四位数字,每位数字都加上5,除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换

加密数字,list的处理方法 题目 代码和结果 分析 题目 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 原题参考如下网站 https://www.runoob.com/python/python-exercise-example89.html 代码和结果 ...

输入形式某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5, 然后再除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

//【输入形式某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5, 然后再除以10的余数代替该数字, // 再将第一位和第四位交换,第二位和第三位交换。】输入原码,以回车结束 //【输出形式】输出密文 //【样例输入】1234 //【样例输出】9876 //【样例输入】9876 //【样例输出】1234 C++代码实现如下: int main() ...

猜你喜欢

限制输入框只能输入大于0的整数

##限制输入框只能输入大于0的整数 去掉input type=“number” 的内置箭头样式 element ui 2.15.7的时间选择器 Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead...

el-input输入框:只能输入不为0的四位正整数

用el-input标签都知道type=number是个可以控制输入框只能输入数字的属性值,但设置这个属性值后maxlength就不管用了,然后看了网上说可以用截取来控制输入长度,可能本人有太菜了,所以没有成功,又把type属性默默改回了text的属性值 然后再方法中设置输入不可为0的判断和只能输入正整数的正则 然后就好了 其实还是想知道一下那个截取是怎么整的,希望有大神指教哦! ---------...

Ant Design Vue 限制数字输入框只能输入大于等于0的整数

四个关键属性:'min' , 'precision', 'fomatter', 'parser' 'min':最小值 'precision': 数值精度(当输入02时,失焦后自动去掉0) 'fomatter':指定输入框展示值的格式,传入方法 'parser':指定从 formatter 里转换回数字的方式,和 formatter 搭配使用  ...

js input框只能输入大于0的正整数

因为用js绑定数据的话,在代码上写正则 单引号双引号的问题没结局,所以用的方法;...