Firefox Javascript:从“”类型的输入中删除非数字字符;数字“-FF问题

Firefox Javascript: Remove non-numeric characters from input of type "number" - FF issue

本文关键字:数字字符 删除 -FF 数字 问题 输入 Javascript 类型 Firefox      更新时间:2023-09-26

任务看起来很简单。我必须在firefox中的keyup上从类型为"number"的输入字段中删除非数字字符。

代码:

$("#field").on("keyup", function() {
 regex = /[''D]+/;
 $(this).val( $(this).val().replace(regex, '') );
});

不幸的是,一旦非数字字符进入字段,其整个内容就会被空字符串所取代。

例如:

234d=清空>应为234

解决方案(此处是因为问题已结束):

这个例子很有效。我发现这与字段类型有关。如果类型为"number"的字段中的输入包含非数字字符,firefox会显示输入,但不会将其存储在输入对象中。只要我使用文本输入,一切都很好。似乎是Firefox的问题。

我认为这个问题是不重复的,因为它似乎考虑了Firefox的输入字段类型为"数字"的问题。

var val = '234d'.replace(/[^0-9]/g, '');
console.log(val);

var myString = '234d';

试试这条线:

myString = myString.replace(/'D/g,'');

参考:从字符串中删除非数字字符