zoukankan      html  css  js  c++  java
  • input 框输入数字相关

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

    例如,输入大于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')">
     
    9、ENTER键可以让光标移到下一个输入框 
    <input type="text" onkeydown="if(event.keyCode==13)event.keyCode=9" /> 
     
    10、正则匹配
    ^[1-9]d*$    //匹配正整数
    ^-[1-9]d*$   //匹配负整数
    ^-?[1-9]d*$   //匹配整数
    ^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
    ^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
    ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
    ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
    ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
    ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
    ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)
    如果您觉得本文对你有用,不妨帮忙点个赞,为枯燥的学习生活增加一点动力
  • 相关阅读:
    织梦开发——相关阅读likeart应用
    织梦标签教程
    织梦专题调用代码
    HIT 2543 Stone IV
    POJ 3680 Intervals
    HIT 2739 The Chinese Postman Problem
    POJ 1273 Drainage Ditches
    POJ 2455 Secret Milking Machine
    SPOJ 371 Boxes
    HIT 2715 Matrix3
  • 原文地址:https://www.cnblogs.com/zq123/p/7356714.html
Copyright © 2011-2022 走看看