js限制文本框只能输入数字方法小结


Posted in Javascript onJune 16, 2014

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

例如,输入大于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,只能输入数字,能输小数点. IE only

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

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

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

这篇文章就介绍到这了,需要的朋友可以参考一下

Javascript 相关文章推荐
JS实现下拉框的动态添加(附效果)
Apr 03 Javascript
javascript eval(func())使用示例
Dec 05 Javascript
JavaScript立即执行函数的三种不同写法
Sep 05 Javascript
jquery mobile 移动web(5)
Dec 20 Javascript
Vue.js动态组件解析
Sep 09 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
Nov 03 Javascript
Vue.js父与子组件之间传参示例
Feb 28 Javascript
javascript  删除select中的所有option的实例
Sep 17 Javascript
Vue单页及多页应用全局配置404页面实践记录
May 22 Javascript
js实现京东秒杀倒计时功能
Jan 21 Javascript
微信小程序如何使用globalData的方法
Jun 06 Javascript
js中apply和call的理解与使用方法
Nov 27 Javascript
JS实现简单的顶部定时关闭层效果
Jun 15 #Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
Jun 15 #Javascript
鼠标移到图片上变大显示而不是放大镜效果
Jun 15 #Javascript
js中的如何定位固定层的位置
Jun 15 #Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
Jun 15 #Javascript
jquery实现通用版鼠标经过淡入淡出效果
Jun 15 #Javascript
jQuery实现的原图对比窗帘效果
Jun 15 #Javascript
You might like
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
Javascript模板技术
2007/04/27 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
Angular中实现树形结构视图实例代码
2017/05/05 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
全面解析Python的While循环语句的使用方法
2015/10/13 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
python ssh 执行shell命令的示例
2020/09/29 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
职业培训师职业生涯规划
2014/02/18 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
社区道德讲堂实施方案
2014/03/21 职场文书
尊师重教演讲稿
2014/09/04 职场文书
画展邀请函
2015/01/31 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
《我要的是葫芦》教学反思
2016/02/18 职场文书