首页 > 解决方案 > 程序表单输入(使用正则表达式)仅接受十进制范围内的值(0.0-100),具有跨浏览器兼容性的单精度

问题描述

我正在尝试过滤输入以防止任何人输入 0.0-100 范围以外的数字。请看下面的代码。问题是它在 IE、Chrome 和 Opera 中完美运行,但在带有正则表达式的 Firefox 中失败。在 Firefox 中,我无法输入“。” (小数点)到输入文本字段。知道什么可能是错的吗?

$('input').on('input', function() {//sanitize values entered 
match = (/(^100$|\d{1,2})[^\.]*((?:\.\d{0,1})?)/g).exec(this.value.replace(/[^\d\.]/g, ''));
console.log(match);
if(match !== null){
       this.value = match[1] + match[2];
}else this.value ="";});

非常感谢任何帮助。

标签: javascriptjqueryregexvalidationfirefox

解决方案


推荐阅读