Firefox Javascript:从#34; number"类型的输入中删除非数字字符 - FF问题

时间:2016-08-04 08:39:12

标签: javascript regex replace numeric

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

代码:

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

不幸的是,只要非数字字符进入该字段,其整个内容就会被空字符串替换。

例如:

234d =清空>应该是234

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

此示例有效。我发现它与字段类型有关。如果输入字段类型" number"包含非数字字符,firefox显示输入但不将其存储在输入对象中。一旦我使用文本输入一切正常。似乎是一个Firefox问题。

我认为这个问题并不重复,因为它似乎认为Firefox问题的输入字段类型为" number"。

2 个答案:

答案 0 :(得分:1)

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

console.log(val);

答案 1 :(得分:0)

var myString = '234d';

试试这一行:

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

参考: strip non-numeric characters from string