Jquery 浮点值的正则表达式
我希望我的文本框只有浮点值,并过滤掉任何符号和字母,我找到的最接近的解决方案是:Jquery 浮点值的正则表达式,jquery,regex,floating-point,alphanumeric,Jquery,Regex,Floating Point,Alphanumeric,我希望我的文本框只有浮点值,并过滤掉任何符号和字母,我找到的最接近的解决方案是: jQuery(".sow-items .discovery_repeat input.hours").live("keyup", function(e) { $(this).val($(this).val().replace(/[^\d]/, '')); }); 但它也过滤掉小数点。如何从上述筛选器或任何新建议中排除小数?尝试以下操作: jQuery(".sow-items .
jQuery(".sow-items .discovery_repeat input.hours").live("keyup", function(e) {
$(this).val($(this).val().replace(/[^\d]/, ''));
});
但它也过滤掉小数点。如何从上述筛选器或任何新建议中排除小数?尝试以下操作:
jQuery(".sow-items .discovery_repeat input.hours").live("keyup", function(e) {
$(this).val($(this).val().replace(/[^\d.]/g, ''));
});
试试这个:
jQuery(".sow-items .discovery_repeat input.hours").live("keyup", function(e) {
$(this).val($(this).val().replace(/[^\d.]/g, ''));
});
/\b[-+]?[0-9]*\.?[0-9]+\b/g
或/^[-+]?[0-9]*\.?[0-9]+$/
应该可以,除非你想允许像“1.4E-15”这样的数字在里面
对于这种不寻常的情况有一些建议。
/\b[-+]?[0-9]*\.?[0-9]+\b/g
或/^[-+]?[0-9]*\.?[0-9]+$/
应该可以做到这一点,除非您想在其中允许像“1.4E-15”这样的数字
jQuery(".sow-items .discovery_repeat input.hours").live("keyup", function(e) {
var newVal = $(this).val().replace(/[^\d.]/, '').split(".");
if ( newVal.length>2 ) newVal.length = 2; newVal.join(".");
$(this).val(newVal);
});
对那个不寻常的案子有一些建议
jQuery(".sow-items .discovery_repeat input.hours").live("keyup", function(e) {
var newVal = $(this).val().replace(/[^\d.]/, '').split(".");
if ( newVal.length>2 ) newVal.length = 2; newVal.join(".");
$(this).val(newVal);
});
@戴夫·牛顿:只有一个
@Dave Newton:只有一个
。您需要匹配非数字或非点,点需要转义
jQuery(".sow-items .discovery_repeat input.hours").live("keyup", function(e) {
$(this).val($(this).val().replace(/[^\d]|[^\.]/, ''));
});
您需要匹配非数字或非点,点需要转义
jQuery(".sow-items .discovery_repeat input.hours").live("keyup", function(e) {
$(this).val($(this).val().replace(/[^\d]|[^\.]/, ''));
});
与其过滤掉非浮点的内容,不如确保它是一个有效的浮点?您还需要说明是否允许使用指数表示法。@DaveNewton无指数表示法与其过滤掉非浮点的内容,不如确保它是一个有效的浮点?您还需要说明是否允许使用指数表示法。@DaveNewton无指数表示法应该是
/[^\d\.]/
转义
?@DaveNewton在您的右侧,它可能会导致包含多个小数,您能建议一个更好的解决方案吗。感谢在字符类中使用点时不需要转义。它应该是/[^\d\.]/
转义
?@davenewt在您的右侧,它可能会导致包含多个小数,您能建议更好的解决方案吗。感谢在字符类内部使用点时不需要转义。在字符类内部不需要转义。如果为True,则不需要转义。如果为True,则不需要转义。如果为True,则不需要转义。