zoukankan      html  css  js  c++  java
  • js限制文本框只能输入数字方法小结

    有时需要限制文本框输入内容的类型,本节分享下正则表达式限制文本框只能输入数字、小数点、英文字母、汉字等代码。

    例如,输入大于0的正整数

    复制代码 代码如下:

    <input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/D/g,'')}">


    1,文本框只能输入数字代码(小数点也不能输入)

    复制代码 代码如下:

    <input onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')">

    2,只能输入数字,能输小数点.
     

    复制代码 代码如下:

    <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
    <input name=txt1 onchange="if(/D/.test(this.value)){alert('只能输入数字');this.value='';}">

    3,数字和小数点方法二

    复制代码 代码如下:

    <input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[+-]?d*?.?d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[+-]?d+(?:.d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[+-]?d*?.?d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[+-]?d+(?:.d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[+-]?d+(?:.d+)?|.d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^.d+$/))this.value=0+this.value;if(this.value.match(/^.$/))this.value=0;this.o_value=this.value}">

    封装成单独的函数:
     

    复制代码 代码如下:

    function keyPress(ob) {
     if (!ob.value.match(/^[+-]?d*?.?d*?$/)) ob.value = ob.t_value; else ob.t_value = ob.value; if (ob.value.match(/^(?:[+-]?d+(?:.d+)?)?$/)) ob.o_value = ob.value;
    }
    function keyUp(ob) {
     if (!ob.value.match(/^[+-]?d*?.?d*?$/)) ob.value = ob.t_value; else ob.t_value = ob.value; if (ob.value.match(/^(?:[+-]?d+(?:.d+)?)?$/)) ob.o_value = ob.value;
            }
    function onBlur(ob) {
    if(!ob.value.match(/^(?:[+-]?d+(?:.d+)?|.d*?)?$/))ob.value=ob.o_value;else{if(ob.value.match(/^.d+$/))ob.value=0+ob.value;if(ob.value.match(/^.$/))ob.value=0;ob.o_value=ob.value};
    }

    只需在调用,传入this对象即可!

    4,只能输入字母和汉字

    复制代码 代码如下:

    <input onkeyup="value=value.replace(/[d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[d]/g,''))" maxlength=10 name="Numbers">

    5,只能输入英文字母和数字,不能输入中文

    复制代码 代码如下:

    <input onkeyup="value=value.replace(/[^w./]/ig,'')">

    6,只能输入数字和英文

    复制代码 代码如下:

    <input onKeyUp="value=value.replace(/[^d|chun]/g,'')">

    7,小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:

    复制代码 代码如下:

    <input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false">

    8,小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:

    复制代码 代码如下:


    <input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">

  • 相关阅读:
    Codeforces 451A Game With Sticks
    POJ 3624 Charm Bracelet
    POJ 2127 Greatest Common Increasing Subsequence
    POJ 1458 Common Subsequence
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1698
    HDU 1754
    POJ 1724
    POJ 1201
    CSUOJ 1256
  • 原文地址:https://www.cnblogs.com/behindman/p/9646801.html
Copyright © 2011-2022 走看看