jQuery控制input只能输入数字和两位小数的方法


Posted in jQuery onMay 16, 2019

前言

做为一个PHPER,难免会遇到那种表单中jQuery限制输入的问题,比如,限制空格的输入,只允许输入数字,以及小数点的控制等等,这里,我们就说一下数字的限制。

jquery代码

话不多说,直接先上jQuery函数,具体的可以看注释说明,在使用这个之前,请务必保证已经提前引入了jQuery库,大家可以自己下载一个jQuery文件,然后引入,也可以查找CDN地址引入,比如在 https://www.bootcdn.cn/jquery/ 可以查找到很多版本的引入地址,直接找到你想要的引入就行。

<script>
  // 格式化限制数字文本框输入,只能数字或者两位小数
  function format_input_num(obj){
    // 清除"数字"和"."以外的字符
    obj.value = obj.value.replace(/[^\d.]/g,"");
    // 验证第一个字符是数字
    obj.value = obj.value.replace(/^\./g,"");
    // 只保留第一个, 清除多余的
    obj.value = obj.value.replace(/\.{2,}/g,".");
    obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
    // 只能输入两个小数
    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');
  }
</script>

函数的直接用法之onkeyup

在input表单输入中,限制最多只能保留两位小数点,其他自动抹掉;这里会用到onkeyup事件,也就是onkeyup事件会在键盘按键被松开时发生,也就是,这个时候调用我们的函数,来处理已输入的内容。

<input type="text" onkeyup="format_input_num(this)" value="" size="10" />元

函数的直接用法之blur

除了上面的监控键盘事件外,还可以通过监控表单的焦点事件来实现,也就是,表单都有获得焦点事件focus和失去焦点事件blur,我们只需要在失去焦点的时候,调用我们的format_input_num函数就可以了,具体如下:

<input type="text" onblur="format_input_num(this)" value="" size="10" />元

或者不在表单中直接绑定方法,而是去jQuery中通过查找元素节点,然后单独绑定相应的事件,并执行相关函数

<input type="text" value="" size="10" id="money" />元
<script>
  $("#money").off('blur').on('blur', function(){
    format_input_num(this);
  });
</script>

其他输入限制

限制只能输入数字的写法,也就是,只能输入0-9的数字

<input type="text" onkeyup='this.value=this.value.replace(/\D/gi,"")' />

限制只能输入数字、字母和横线"-",其中字母包括大小写

<input type="text" onkeyup='value=value.replace(/[^A-Za-z0-9\-]+/g,"")' />

当然了,还有其他很多校验规则,可以自己根据实际需求进
行修改和尝试一下

最后

以上所述是小编给大家介绍的jQuery控制input只能输入数字和两位小数的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

jQuery 相关文章推荐
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 jQuery
为JQuery EasyUI 表单组件增加焦点切换功能的方法
Apr 13 jQuery
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
jQuery中过滤器的基本用法示例
Oct 11 jQuery
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 jQuery
Vue中正确使用jQuery的方法
Oct 30 jQuery
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 jQuery
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
Vue项目中使用jquery的简单方法
May 16 #jQuery
JQuery常见节点操作实例分析
May 15 #jQuery
JQuery属性操作与循环用法示例
May 15 #jQuery
jquery+css实现Tab栏切换的代码实例
May 14 #jQuery
jquery实现二级导航下拉菜单效果实例
May 14 #jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 #jQuery
jquery 验证用户名是否重复代码实例
May 14 #jQuery
You might like
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
php查询及多条件查询
2017/02/26 PHP
jquery ready函数源代码研究
2009/12/06 Javascript
JS的反射问题
2010/04/07 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
Python开发的实用计算器完整实例
2017/05/10 Python
python查看列的唯一值方法
2018/07/17 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
python不同版本的_new_不同点总结
2020/12/09 Python
css3 transform 3d 使用css3创建动态3d立方体(html5实践)
2013/01/06 HTML / CSS
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
院药学专业个人求职信
2013/09/21 职场文书
员工年终考核评语
2014/12/31 职场文书
小学家长意见怎么写
2015/06/03 职场文书
老人节主持词
2015/07/04 职场文书
趣味运动会广播稿
2015/08/19 职场文书
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL