javascript - 程序表单输入(使用正则表达式)仅接受十进制范围内的值(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 ="";});
非常感谢任何帮助。
解决方案
推荐阅读
- amazon-web-services - Boto3 在 AWS CodeBuild 中运行时使用哪些凭证?
- gcc - 编译后的精灵中出现了两个常量副本
- mongodb - 如何运行相同的数据库文件夹
- css - 使用 ace:datatable 更改 tbody 的可滚动表
- python - 时间序列数据的相等 x 轴刻度
- jsp - 从 servlet 分派到 jsp 时出现服务器错误
- android - 在三星文件资源管理器中打开自定义文件类型
- java - 为什么 bean 中的 Environment 在集成上下文中看不到来自源的属性?
- java - Spark 应用程序公平调度
- javascript - 如何拆分子数组并生成唯一组合