博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一些限制文本框输入的应用
阅读量:4661 次
发布时间:2019-06-09

本文共 2587 字,大约阅读时间需要 8 分钟。

许多时候我们在制作表单时需要限制文本框输入内容的类型,下面我们用正则表达式限制文本框只能输入数字、小数点、英文字母、汉字等各类代码。

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

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

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

<input οnkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">    

<input name=txt1 οnchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">

3.数字和小数点方法二    

<input type=text t_value="" o_value="" οnkeypress="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" οnkeyup="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" οnblur="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 οnkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

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

<input οnkeyup="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 || /\.\d\d$/.test(value))event.returnValue=false">

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

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

9.不能输入数字 <input οnkeyup="value=value.replace(/[0-9]+/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[0-9]+/g,''))">

 

--by  不是出自自己之手

转载于:https://www.cnblogs.com/qianlovebeijixiong/archive/2013/04/01/2992633.html

你可能感兴趣的文章
[LeetCode#227] Basic Calculator II
查看>>
个人作业收官——软件工程实践总结
查看>>
原生js中大小写转化以及split分割字符串方法
查看>>
生成树相关问题
查看>>
2009-9-17 关于扮猪吃虎
查看>>
外部主机无法访问IIS发布的网站
查看>>
java构造器执行顺序一个有趣的简单实例
查看>>
网络传输数据序列化工具Protostuff
查看>>
捕获程序异常之tryCatch
查看>>
poj3348 Cows 凸包+多边形面积 水题
查看>>
oracle 之 内存—鞭辟近里(二)
查看>>
js 模仿windows 桌面图标排列算法
查看>>
20、SQL Server 数据修改之Update
查看>>
Python学习入门基础教程(learning Python)--3.3.1 Python下的布尔表达式
查看>>
ftp读取txt数据并插入数据库
查看>>
微信开发 调用摄像机拍照(录像)功能
查看>>
一份高级Java招聘要求
查看>>
Win7下使用无线网卡共享上网的4种方式
查看>>
10-创建练习sql语句的两个表
查看>>
测试耗时时间的方法
查看>>