js 正则表达式 来控制输入框 只能输入 7位正整数和2位小数,点号只允许输入一次~

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 正则表达式 来控制输入框 只能输入 7位正整数和2位小数,点号只允许输入一次~相关的知识,希望对你有一定的参考价值。

我想用onkeyup事件 来控制 比如 this.value = this.value.replace(这里是那个正则,"");

应该是至多7位整数和2位小数吧。
fantasy_wl那个必须固定位数了。
/^\d0,7(\.\d0,2)?$/g
这样可以匹配
3456
3456.7
3456.78
不能匹配
34567894
3456.
3456.123
.12
34.34.3
参考技术A <input onkeyup="value=value.replace(/[^\d]/g,'') "
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
只能输入正整数,
只能输入 7位整数和2位小数: /^[1-9]1\d6\.\d2$/
参考技术B 正则表达式如下:
/^\d7\.\d2$/g

正则表达式限制输入框,只能输数字,当输入小数的时候,四舍五入为整数。

只能为整数,输入小数的时候四舍五入取整数
正则表达式改怎么写?

参考技术A <!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>JS</title>
<STYLE>
</STYLE>
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
var keyup = function (obj)
    
    var reg = /^(\\+|\\-)?(((\\d+)\\.?(\\d*))|((\\d*)\\.(\\d+)))$/;
    if (!reg.test (obj.value))
    
    obj.value = '';
    
    else
    
    var f = obj.value.replace (reg, '$1');
    var z1 = obj.value.replace (reg, '$4');
    var x1 = obj.value.replace (reg, '$5');
    
    var z2 = obj.value.replace (reg, '$7');
    var x2 = obj.value.replace (reg, '$8');
    console.log (f + ',' + z1 + ',' + x1 + ',' + z2 + ',' + x2);
    if (z1 != '')
    
    obj.value = f + ((x1 == "" || parseInt (x1.substring (0, 1)) < 5) ? z1 : Number (z1) + 1);
    
    else
    
    obj.value = f + (parseInt (x2.substring (0, 1)) >= 5 ? 1 : 0);
    
    
    
</script>
</head>
<body>
<input type="text" onblur="keyup(this);" />
</body>
</html>

参考技术B 正则表达式只能匹配不能操作,像你说的四舍五入是操作不了的。

以上是关于js 正则表达式 来控制输入框 只能输入 7位正整数和2位小数,点号只允许输入一次~的主要内容,如果未能解决你的问题,请参考以下文章

js怎样判断文本框输入的全是回车,如果全是回车提示为空

如何用正则表达式限制文本框输入数字位数?

怎么用js正则验证文本框只能输入中文和英文

在C#中怎么用正则表达式限制文本框内不能输入数字?

用正则表达式限制文本框只能输入数字和+

js 正则验证输入框只允许输入正整数或者负整数?