位置: IT常识 - 正文

<input> 实现输入框只能输入数字(个人认为最好的)(input输入语句)

编辑:rootadmin
<input> 实现输入框只能输入数字(个人认为最好的) 需求背景:

推荐整理分享<input> 实现输入框只能输入数字(个人认为最好的)(input输入语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:怎么用input输入数据,input输入值,用input输入字符串,用input输入字符串,input输入语句,怎么用input输入数据,怎么用input输入数据,input输入语句,内容如对您有帮助,希望把文章链接给更多的朋友!

在项目中会遇到表单填写的时候在input中输入纯数字的情况,这个时候需要我们在输入框对用户的输入做一些限制,我在网上查了几个方案,我都尝试了一下,优缺点也标注了一下。仅供大家参考:

方案一:使用JS限制 input 输入框只能输入纯数字onkeyup = "value=value.replace(/[^\d]/g,'')"

使用 onkeyup 事件, 缺点: 在中文输入法状态下,输入汉字之后直接回车,会直接输入字母,所以:不推荐

onchange = "value=value.replace(/[^\d]/g,'')"

使用 onchange 事件, 缺点:在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应

3、oninput = "value=value.replace(/[^\d]/g,'')"

使用 oninput事件,完美的解决了以上两种问题,他可以即时做出响应, 缺点:当你先输入数字,切输入法中文,开始输入,之前输入的数字会一个个的都消失,直到内容为空

4、最后,我发现了一个功能实现上最好的:同时使用onkeyup="this.value=this.value.replace(/\D/g,'')" + onafterpaste="this.value=this.value.replace(/\D/g,'')"

上面出现的3中情况均完美解决 缺点: 唯一不太行的就是 输入英文或中文是输入框都会频闪一下键盘输入的东西,但还是 可以接受的

方案二:VUE使用a-input-number组件限制 input 输入框只能输入纯数字利用a-input-number组件的controls属性api去控制不显示增减数值的按钮

缺点:当你输入中文或英文时,只有在输入框失去焦点 的时候才会去校验数字

方案三:VUE使用a-input组件利用type=number限制 input 输入框只能输入纯数字<input> 实现输入框只能输入数字(个人认为最好的)(input输入语句)

当input 使用了type='number’后,会出现这个增减数值的按钮,这里建议使用css去控制不显示:

<a-input type='number' />// css部分 需要注意浏览器兼容问题<style lang="css" scoped>input::-webkit-outer-spin-button,input::-webkit-inner-spin-button { -webkit-appearance: none; appearance: none; margin: 0;}/* 火狐 */input { -moz-appearance: textfield;}

缺点:就是你输入中文或者英文他会直接拼接一个 'e' 或 'E',所以:‘不推荐’

总结:最最最后,个人感觉使用JS的方案四比较合适

onkeyup="this.value=this.value.replace(/\D/g,'')" + onafterpaste="this.value=this.value.replace(/\D/g,'')"

<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">浅浅扩展一下:

JS判断只能是数字和小数点

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

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

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

<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='';}">

数字和小数点方法二<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}"/>只能输入字母和汉字

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

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

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

只能输入数字和英文

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

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

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

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

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

只能是数字和小数点和加减乘除

onkeypress="return event.keyCode>=4&&event.keyCode<=57"

本文链接地址:https://www.jiuchutong.com/zhishi/299414.html 转载请保留说明!

上一篇:Vue学习——【第四弹】(vue系列教程)

下一篇:流程图拖拽视觉编程--概述(用流程图的形式写出视觉的形成过程)

  • 纳税等级怎么从M变成B需要什么条件
  • 评估报告是什么
  • 通货膨胀有什么危害?
  • 股权激励费用怎么摊销
  • 月初没报税可以领发票吗
  • 行政事业单位收据样本
  • 施工企业增值税纳税地点
  • 房地产开发成本和开发费用的区别
  • 未分配利润应该在借方还是贷方??
  • 分公司的收入
  • 图书出版费开票怎么开
  • 二手房增值税税率表2023年最新
  • 银行摘要冲账是什么意思
  • 外地餐费计入什么账户
  • 简述增值税纳税义务发生时间
  • 工会筹备金怎么报
  • 其他业务收入怎么填纳税申报表
  • 公司代缴个人社保费怎么做账
  • mac怎么创建热点
  • win10同步账户
  • getparameter报错
  • 环境保护税入账什么会计科目
  • win7旗舰版分辨率调高了黑屏怎么办
  • 暂估主营业务成本怎么冲销
  • PHP开发之归档格式
  • php smarty
  • 股息红利要交税吗
  • 资产划转的账务处理
  • php快速下载文件
  • 领料单出库单区别
  • 退货可以吗
  • 按工资的14%计提职工福利费
  • 金蝶利息收入结转怎么弄
  • 合并报表的收入就是相加么
  • 纳税调整项目明细表30行怎么填写
  • 连锁店总部的组织架构
  • 推广费需要交税吗
  • 抵扣完进项怎么算应交增值税
  • 借款的帐务处理?
  • 出口货物的报关时间为货物运抵海关
  • 支付长期借款利息
  • 集团内部借款利率如何确定
  • 对公账户是怎样的
  • 卖固定资产如何做账
  • 费用报销票据可以跨年吗
  • 一般纳税人资格证书怎么查询
  • 网上购物没有发票
  • 跨年暂估收入,次年开票会计分录
  • 工程增值税抵扣比例
  • 生产经营收入总额填什么金额
  • 对方要求先开发票怎么办
  • 计提坏账准备的会计分录
  • 融资租赁公司收费标准
  • 所得税费用如何计提
  • 商业银行的固定资产
  • where条件加判断
  • mac之间传送帐号怎么传送
  • xp启用windows功能
  • 浅谈特殊儿童的融合教育论文
  • 我为什么要
  • glsl编译
  • shell脚本语句
  • 深入探究替换词
  • 教你用纸折一只会跳的小兔子,非常好玩,小朋友都喜欢
  • macos如何使用
  • 批处理实例
  • 手机屏幕适配
  • JavaScript function函数种类详解
  • unityshader
  • js 小数取整的函数怎么写
  • javascript Keycode对照表
  • 如何搭建python项目架构
  • 成都市老年公交卡年审地点
  • 税控盘抄报反写工作难度
  • 国家税务局几号上班
  • 建筑施工及安装单位企业在异地
  • 出口退税备案单证目录
  • 黑龙江国税电子税务局官网登录
  • 税务局文化品牌
  • 重庆国税12316
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设