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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式限制输入框,只能输数字,当输入小数的时候,四舍五入为整数。相关的知识,希望对你有一定的参考价值。

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

参考技术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 正则表达式只能匹配不能操作,像你说的四舍五入是操作不了的。

求一个正则表达式只能输入数字小数点后两位和

求一个正则表达式,输入框内只能输入正数,包含整数和浮点数, 小数点后只能保留两位,和“|”,
需求是这样的:一个输入框可以输入多个不同的金额每个金额以“|”符号隔开,
比如 : 999.99|520|888.88|66.66|1314

按照你的要求判断输入金额的正则表达式如下

下面给你一个Java语言的例子,你看看吧.

参考技术A

正则:^[0-9]+(\\.[0-9]2)?$

思路:

用Python内置的字符串函数split()对输入进行分割,之后逐一判断,过滤掉不符合上面正则的字符.

具体实现,代码如下:


import re
text = input("输入,以|分割:")
numbers = text.split('|')
pattern = r'^[0-9]+(\\.[0-9]2)?$'
pattern = re.compile(pattern)
result = list(filter(pattern.match,numbers))
print(result)


输入: 999.99|520|888.88|66.66|1314|3.1415|9527|-12|-1.1|8080

输出:['999.99', '520', '888.88', '66.66', '1314', '9527', '8080']

以上是关于正则表达式限制输入框,只能输数字,当输入小数的时候,四舍五入为整数。的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式验证文本框只能输入数字和小数点

正则表达式验证文本框只能输入数字和小数点

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

asp.net怎么限制文本框输入的类型c#

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

关于文本框的正则表达式,只能输入正数,可以有小数点,小数点后面两位。