关于在input标签中输入数字的问题(正则表达式)

在项目开发中遇到文本框限制输入内容的问题,自己在网上找了找,又加了点自己的,简略写出了几个,在这写一下,希望对其他人有所帮助。

可在input标签中根据情况加入属性:

情况1:需要只能输入数字:

onkeyup='this.value=this.value.replace(/\D/gi,"")'

情况2:需要只能输入小数(牵扯到金额等):

onkeyup="this.value=(this.value.match(/\d+(\.\d{0,2})?/)||[''])[0]"
【正则限定必须先输入数字,而后能且只能输入一个小数点,小数点后可输入两位数字,需要的可以更改大括号中的数字2,这个数字用来限定小数点后可以有多少位数字】

情况3:需要只能输入正负整数和0(牵扯到楼宇楼层的问题):

onkeyup="this.value=(this.value.match(/(\-{0,1}\d{0,8})?/)||[''])[0]"
【正则限定文本框内只能在开头输入或不输入一个符号,后面可跟8位数字,需要的可以更改大括号中的数字8】

备注:使用这个方法有可能会在谷歌浏览器中会导致无法使用键盘来控制鼠标左右移动。解决方法为:将onkeyup中的内容写到一个js方法当中,然后在onkeyup属性中调用js方法。【这个解决方法是我在网上一个大神那找来的,特此说明一下,谢谢大神了】

<input type="text" onkeyup="cky(this)">

function cky(obj){
    var t = (obj.value.match(/\d+(\.\d{0,2})?/)||[''])[0];
    if(obj.value!=t)
        obj.value=t;
}

时间: 2024-09-02 08:09:28

关于在input标签中输入数字的问题(正则表达式)的相关文章

js限制input标签中只能输入中文

  这篇文章主要介绍了js限制input标签中只能输入中文的的相关资料,需要的朋友可以参考下 方法很简单,这里就不多BB了,直接奉上示例 ? 1 2 3 4 5 6 7 8 9 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>只能输入中文</title> </head>

java-后台获取input标签中的属性值,该怎么获取

问题描述 后台获取input标签中的属性值,该怎么获取 后台想通过JAVA获取到input中的isDraft的值是否为0 该怎么获取 <input type="button" value="创建问卷" name="sendBtn" id="sendBtn" class="butn" isDraft=0>; <input type="button" value="

excel表中输入数字很慢的解决方法

  excel表中输入数字很慢(输完数字,要等很久),字母.汉字都没问题. 在excel表中的某一个单元格里输入数字,要等很久,excel才有反应,输入字母和汉字及其它字符正常. 原因不明,直接说解决方法: 首选,全选这个有问题的excel表,然后选择复制.接着现新建一个excel表,右击A1单元格,然后选择"选择性粘贴"一定要选择"选择性粘贴"这一步很重要.接着在弹出的菜单里,选择"边框除外",然后按确定.之后,再重新添加边框即可. 如果,选择

angularjs-angularJS 有关于在input标签中格式化默认的值,并且能选其他时间。

问题描述 angularJS 有关于在input标签中格式化默认的值,并且能选其他时间. 现在已经格式化好了,但是不能选,求助. app.directive('dateFormat', ['$filter',function($filter) { var dateFilter = $filter('date'); return { require: 'ngModel', link: function(scope, elm, attrs, ctrl) { function formatter(va

如何修改input标签的输入方向?

问题描述 如何修改input标签的输入方向? 我想修改input的输入方向,让文字的输入从右向左,小白一枚,还请大神顺手拯救一下.. 解决方案 <input type="text" dir="rtl" /> 解决方案二: 自顶不息...跪求帮助 解决方案三: 批量修改标签css样式,input标签为例

js实现input中输入数字每四位加一个空格

键盘各按键对应的数字 keycode 8 = BackSpace | keycode 9 = Tab   | keycode 12 = Clear keycode 13 = Enter   | keycode 16 = Shift  | keycode 17 = Control keycode 18 = Alt    | keycode 19 = Pause  | keycode 20 = CapsLock keycode 27 = Escape   | keycode 32 = Space  

使用正则限制input框只能输入数字/英文/中文等等_正则表达式

常用HTML正则表达式 1.只能输入数字和英文的: 复制代码 代码如下: <input onkeyup="value=value.replace(/[/W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" ID="Text1" NAME="Text1">

一句JS限制input只允许输入数字和字母

一句JS搞定输入框只允许用户输入数字和字母类型的内容,对象是input输入框,当然也可以其它对象,只不过input输入框用的频率非常高.一句代码,不信么?那就看下边代码:  代码如下 复制代码 <INPUT class=input maxLength=12 size=15 name=username id="username" onKeyUp="value=value.replace(/[\W]/g,'')"></INPUT> 在input文

使用正则限制input框只能输入数字/英文/中文等等

常用HTML正则表达式 1.只能输入数字和英文的: 复制代码 代码如下: <input onkeyup="value=value.replace(/[/W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))" ID="Text1" NAME="Text1">